php7.4 ./configure時に No package ‘sqlite3’ found | クズリーマンのカス備忘録

php7.4 ./configure時に No package ‘sqlite3’ found

CentOS
スポンサーリンク

 

 

環境

CentOS6.9

 

事象

 

PHP7.4をソースからビルドしたく、./configureコマンドを叩いたら下記MSGを出力して異常終了。

 

checking for sqlite3 > 3.7.4... no
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:

No package 'sqlite3' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables SQLITE_CFLAGS
and SQLITE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

原因

バージョン3.7.4 移行のsqliteが入ってない。

 

yum info してみても。。。

]# yum info sqliste
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
^C^P^H * epel: ftp.iij.ad.jp
* remi-safe: ftp.riken.jp
Error: No matching Packages to list
[root@a283b8e2b8ca php-7.4.29]# yum info sqlite
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* epel: d2lzkl7pfhq30w.cloudfront.net
* remi-safe: ftp.riken.jp
Installed Packages
Name : sqlite
Arch : x86_64
Version : 3.6.20
Release : 1.el6_7.2
Size : 625 k
Repo : installed
From repo : CentOS
Summary : Library that implements an embeddable SQL database engine
URL : http://www.sqlite.org/
License : Public Domain
Description : SQLite is a C library that implements an SQL database engine. A large
: subset of SQL92 is supported. A complete database is stored in a
: single disk file. The API is designed for convenience and ease of use.
: Applications that link against SQLite can enjoy the power and
: flexibility of an SQL database without the administrative hassles of
: supporting a separate database server. Version 2 and version 3 binaries
: are named to permit each to be installed on a single host

~以下略~

うん、3.7.4より古いっすね。

 

対処

sqlite3.7.4以降をソースからビルドする。

こちらを参考に実施。

 

上記リンクにも書いてあるが、sqliteはこちらからダウンロードした。

 

 

これで回避できた。

ちなみに、

 

make CFLAGS="-g -O2 -DSQLITE_ENABLE_COLUMN_METADATA"

 

makeのオプションのこれ、

16行目、PHPから使うには、SQLITE_ENABLE_COLUMN_METADATA が必要です。

とのこと。

 

 

 

CFLAGSとは?

CFLAGSCXXFLAGSは、CやC++のソースコードをコンパイルするときに使われるオプションを、コンパイラに指示するために慣例的に使われる環境変数の一種です。

 

GCCの最適化 - Gentoo wiki

てことらしい。

 

おそらくexportしてからやってもええんやろうけど、コンパイラだけが一時的に使えばいいんで、こういうふうにしてるんでしょうなあ。

 

 

コメント

タイトルとURLをコピーしました