PHP7.4系ソースインストール時のconfigureエラー 
2020/09/04 Fri.
PHP5.6系を使ってますが、PHP7の移行を検討しようと思ったらもう7.4系まで進んでたのですね。
こりゃインストールに手古摺りそうだなあと思ったら案の定「configure」のエラーで悩まされましたので、対処療法を備忘録しておきます。
なお、OSはFreeBSD12.1です。
こりゃインストールに手古摺りそうだなあと思ったら案の定「configure」のエラーで悩まされましたので、対処療法を備忘録しておきます。
なお、OSはFreeBSD12.1です。
まず、PHP7.4でいろいろと変わっているようですので以下の公式サイト説明を見た方がいいと思います。
https://www.php.net/manual/ja/migration74.other-changes.php
そこに「pkg-config」を使うみたいなことが描かれています。configureでも「ねえぞー!」と言われますのでインストール。
# pkg install pkgconf
インストールしただけではこのコマンドが使用する、設定ファイルを保存している場所がわからないみたいなので環境変数に指定してあげます。
以下のコマンドはconfigureの前にコマンドラインで手打ちしてもいいですし、シェル設定ファイルに書き込んでおいてもいいです。設定ファイルに書き込んだ時は再読み込みをさせましょう(再ログインや、sourceコマンド)。
CSH系
setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig
SH系
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
SQLite3がインストールされなくなったようで、「ねえぞー!」と言われるので入れます。
# pkg install sqlite3
「--disable-mbregex」を指定しない限り「鬼車がねえぞー!」と言われるので入れる(正規表現ライブラリらしい。今までは標準でバンドルされていたみたい。知らなかった)。
# pkg install oniguruma
※注 ↓↓↓↓この件記事下部に追記↓↓↓↓
なぜか「libzどこやー?!」と言われる。
「/usr/local/lib/pkgconfig」の中には「zlib」をソースインストールしたときに「zlib.pc」が書き出されているけどファイル名が違うせいか文句を言う。
そこでPHPのconfigureに以下の指定をする。
--with-zlib-dir=/usr/local
これでconfigureが通りました。
しかし、前述PHPの変更点説明のページに、
--with-zlib-dir は削除されました。
というのがあるのですが、通ったのでヨシ!とします。
※注 ↑↑↑↑ここまで↑↑↑↑
あと、「make test」したときのエラー報告を調べるときに役に立つかもしれないサイトを載せておきます。
http://qa.php.net/reports/run_tests.php
※2020年9月8日追記
あれから何度かインストール・テストを行っていたところ、前述「libzどこやー?!」を言わなくなりました。
あれ?と思って再現しようとしたのですが、どうやってみても再現できず、このエラーでconfigureが止まることはありませんでした。
私が見たのは幻だったのか?
それと、やはりその時のconfigureオプション「--with-zlib-dir」はconfigureが通った後、
configure: WARNING: unrecognized options: --with-zip-dir
というメッセージが表示されるのでやはり無効だと思います。
うーん。なんだったんだろう?
https://www.php.net/manual/ja/migration74.other-changes.php
そこに「pkg-config」を使うみたいなことが描かれています。configureでも「ねえぞー!」と言われますのでインストール。
# pkg install pkgconf
インストールしただけではこのコマンドが使用する、設定ファイルを保存している場所がわからないみたいなので環境変数に指定してあげます。
以下のコマンドはconfigureの前にコマンドラインで手打ちしてもいいですし、シェル設定ファイルに書き込んでおいてもいいです。設定ファイルに書き込んだ時は再読み込みをさせましょう(再ログインや、sourceコマンド)。
CSH系
setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig
SH系
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
SQLite3がインストールされなくなったようで、「ねえぞー!」と言われるので入れます。
# pkg install sqlite3
「--disable-mbregex」を指定しない限り「鬼車がねえぞー!」と言われるので入れる(正規表現ライブラリらしい。今までは標準でバンドルされていたみたい。知らなかった)。
# pkg install oniguruma
※注 ↓↓↓↓この件記事下部に追記↓↓↓↓
なぜか「libzどこやー?!」と言われる。
「/usr/local/lib/pkgconfig」の中には「zlib」をソースインストールしたときに「zlib.pc」が書き出されているけどファイル名が違うせいか文句を言う。
そこでPHPのconfigureに以下の指定をする。
--with-zlib-dir=/usr/local
これでconfigureが通りました。
しかし、前述PHPの変更点説明のページに、
--with-zlib-dir は削除されました。
というのがあるのですが、通ったのでヨシ!とします。
※注 ↑↑↑↑ここまで↑↑↑↑
あと、「make test」したときのエラー報告を調べるときに役に立つかもしれないサイトを載せておきます。
http://qa.php.net/reports/run_tests.php
※2020年9月8日追記
あれから何度かインストール・テストを行っていたところ、前述「libzどこやー?!」を言わなくなりました。
あれ?と思って再現しようとしたのですが、どうやってみても再現できず、このエラーでconfigureが止まることはありませんでした。
私が見たのは幻だったのか?
それと、やはりその時のconfigureオプション「--with-zlib-dir」はconfigureが通った後、
configure: WARNING: unrecognized options: --with-zip-dir
というメッセージが表示されるのでやはり無効だと思います。
うーん。なんだったんだろう?
- 関連記事
category: サーバー
この記事へのコメント
コメントの投稿
コメントは全て管理人が内容を確認してから表示されます(非公開コメント除く)。
内容によっては表示されない場合がありますことご了承願います。
内容によっては表示されない場合がありますことご了承願います。
« Apache2.4のインストールでlibiconvエラー発生
Let's Encryptが発行している無料SSL証明書にバグが見つかったようです »