libzip-1.5.2をソースインストール / Rocky Linux9.4 on さくらのVPS
篠原 隆司
アフィリエイト広告を利用しています
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です
覚書です。
ところどころ省いています。
実践環境で使う場合はご注意ください。
目的
PHP7.3.33をRocky Linux9.4にインストールしようとしたところ configure で次のエラーが発生しました。
checking size of off_t... 0
configure: error: off_t undefined; check your library configuration
いろいろ経緯はあるのですが結果としては次のとおりです。
- PHP 7.3.33 には libzip-1.5.2 は不要
- PHP 7.3.33 には libzip 1.10.1 が使用できる (使用している)
- PHP 8系 以上には libzip 1.10.1 が使用できる (使用している)
- PHP 7.3系 以下は「export LD_LIBRARY_PATH」を行っているか
- 「export PKG_CONFIG_PATH」を行っているか
- configure に「--with-libzip=/usr/local/lib/libzip-1.10.1」が含まれているか
ということで、せっかくこのページを作成したので libzip-1.5.2 は不要になりましたが残しておくこととします。
ちなみにテストサーバ用途の複数バージョン同居環境の場合、下手にdnfするよりソースからバージョン指定でインストールしておいたほうが将来的にメリットがあります。
特徴
- ソースコードからのインストール
- 複数バージョンの共存
特定バージョンでの開発や動作確認など開発環境での用途を目的としています。
環境
| 実施日 | 2024-05-17 |
| サーバ | さくらのVPS 2G
|
| OS | Rocky Linux9.4 |
cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
libzip 1.5.2
公式サイトでダウンロードURLを確認
libzipの公式サイトのダウンロードページに行くと最新版へのリンクがあります。
ですが今回欲しいのは過去バージョンです。
過去バージョンは Github から入手します。
お目当ては tar.gz です。
URLを控えておきます。
「rel-1-5-2」の「tar.zg」です。
https://github.com/nih-at/libzip/archive/refs/tags/rel-1-5-1.tar.gz
Google Chromeならリンクテキストの上で右クリックして「リンクのアドレスをコピー」で取得できます。
インストール
公式の手順はこちらです。
LIBZIP_VERSION=1.5.2
LIBZIP_REL_VERSION=1-5-2
ls -la /usr/local/src
ls -la /usr/local/lib
mkdir /usr/local/src/libzip-$LIBZIP_VERSION
cd /usr/local/src/libzip-$LIBZIP_VERSION
wget https://github.com/nih-at/libzip/archive/refs/tags/rel-$LIBZIP_REL_VERSION.tar.gz -O libzip-$LIBZIP_VERSION.tar.gz
tar xvzf libzip-$LIBZIP_VERSION.tar.gz
mv libzip-rel-$LIBZIP_REL_VERSION libzip-$LIBZIP_VERSION
cd libzip-$LIBZIP_VERSION
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lib/libzip-$LIBZIP_VERSION
make
make install
PHPのconfigureの前に
PHPのconfigureエラーで次のように出ていると思いますが、ここに書かれているとおり PKG_CONFIG_PATH の設定が必要です。
下記を実行してから、PHPのconfigureを再開します。
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/libzip-1.5.2/lib64/pkgconfig"
PHP 7.3 系以下のバージョンの場合
export LD_LIBRARY_PATH=/usr/local/lib/libzip-1.5.2/lib64:$LD_LIBRARY_PATH
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
本ページの内容は可能な限り正確な情報を提供するよう努めていますが、内容の正確性・最新性・安全性を保証するものではありません。本情報を利用して生じたいかなる損害についても、当方は一切の責任を負いません。実施にあたっては必ずご自身の判断と自己責任にてお願いいたします。