SQLite3.32.0をCentOS6にソースインストール

覚書です。
ところどころ省いています。
実践環境で使う場合はご注意ください。

目的

PHP7.4をCentOS6にインストールしようとしたところ configure で次のエラーが発生しました。

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

Requested 'sqlite3 > 3.7.4' but version of SQLite is 3.6.20

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

CentOS7 だとyum install sqlite-devel で解決できるところ、CentOS6ではダメなのでソースからインストールしていきます。

特徴

  • ソースコードからのインストール
  • 複数バージョンの共存

特定バージョンでの開発や動作確認など開発環境での用途を目的としています。

環境

実施日2020-5-24
サーバさくらのVPS 2G
OSCentOS 6.10
cat /etc/redhat-release
CentOS release 6.10 (Final)
rpm -qa | grep centos-release
centos-release-6-10.el6.centos.12.3.x86_64

事前準備

SQLite3.32.0

公式サイトからダウンロードして、/tmp にアップロード

https://www.sqlite.org/index.html

トップページのすぐ分かるところに「Version 3.32.0 (2020-05-22).」とあります。

「Download」をクリック

sqlite-autoconf-3320000.tar.gz をクリックしてダウンロードし、アップロード

/tmp/sqlite-autoconf-3320000.tar.gz

インストール

ls -la /usr/local/src
ls -la /usr/local/lib

mkdir /usr/local/src/sqlite-3.32.0

cp /tmp/sqlite-autoconf-3320000.tar.gz /usr/local/src/sqlite-3.32.0/sqlite-autoconf-3320000.tar.gz

cd /usr/local/src/sqlite-3.32.0

tar xvzf sqlite-autoconf-3320000.tar.gz

cd sqlite-autoconf-3320000

./configure --prefix=/usr/local/lib/sqlite-3.32.0

make CFLAGS="-g -O2 -DSQLITE_ENABLE_COLUMN_METADATA"

make install

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