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

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

目的

PHP7.4.33を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ではダメなのでソースからインストールしていきます。

特徴

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

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

環境

実施日2022-12-10
サーバさくらの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.34.0

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

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

トップページのすぐ分かるところに「Version 3.40.0 (2022-11-16).」とあります。

「Download」をクリック

「sqlite-autoconf-3400000.tar.gz」を右クリックして「リンクのアドレスをコピー」
リンク先のURLを取得します。

https://www.sqlite.org/2022/sqlite-autoconf-3400000.tar.gz

インストール

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

mkdir /usr/local/src/sqlite-3.34.0

cd /usr/local/src/sqlite-3.34.0

wget https://www.sqlite.org/2022/sqlite-autoconf-3400000.tar.gz
# エラーになったときは別の方法で tar.gz を配置

tar xvzf sqlite-autoconf-3400000.tar.gz

cd sqlite-autoconf-3400000

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

make CFLAGS="-g -O2 -DSQLITE_ENABLE_COLUMN_METADATA"

make install

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