花原です。 最近(1〜2週間以内) portsツリー を最新にして、古い apache24 + mod_php74 の環境を apache24 + mod_php81 にアップデイトしようとしました。 そうしたら i386 のマシンで core を吐いてクラッシュするようになりました。
結論から言うと mod_php81を gcc(gcc12)でコンパイルすればクラッシュしなくなりました。 # pkg install gcc12 # cd /usr/ports/www/mod_php81 # make CC=/usr/local/bin/gcc12 install 私は、ports-mgmt/portconf を使っているので、/usr/local/etc/ports.conf に 次の行を加え、「portupgrade www/mod_php81」でビルドしました。 www/mod_php81: CC=/usr/local/bin/gcc12 gcc12を使うのは、www/mod_php81 のみで、他のモジュールには FreeBSD標準の コンパイラを使っていることになります。 ----- 以下、試行錯誤の記録。 クラッシュを確認した環境は以下とおり。 FreeBSD 12.4-RELEASE-p2 (i386) FreeBSD 13.2-RELEASE (i386) amd64 では問題は起きてません。 最初、/var/log/httpd-error.log に出力が出る前に死ぬので原因がわかりませ んでした。 /var/log/messages には (core dumped) と記録されていました。 apache24 の httpd.conf設定ファイルで、libphp.so をロードしている行をコメ ントアウトしたら正常に立ち上がったので、mod_phpが悪いのは間違いないなー と思ってました。 そうこうしながら Web検索してたら、以下の記事が見つかりました。 apache24 with mod_php82 won't start up. https://forums.freebsd.org/threads/apache24-with-mod_php82-wont-start-up.86779/ https://forums.freebsd.org/threads/apache24-with-mod_php82-wont-start-up.86779/page-2#post-585497 この _martin さんの記事がビンゴ だったようです。 databases/postgresql*-server も i386環境だとコンパイラにgcc使うので、何 らかの問題があるのかもしれません。 Portsは、自前でソースからビルドしてるので、FreeBSDのバイナリパッケージだ と問題が起こらないのかどうかは判りません。 以上、参考までにお知らせいたします。 -- Yoshihiro Hanahara <hanah...@meiko.co.jp>