Warning: count(): Parameter must be an array or an object that implements Countable in /usr/local/www/admnote/wp-includes/post-template.php on line 284

PHP共有ライブラリが生成されない

FreeBSD 10.0-RELEASE上でPHPをビルドすると、共有ライブラリ (libphp5.so) が生成されない。

【追記】 PHP 5.5.15/5.4.31で修正された。

原因

古いautotoolを使って生成されたconfigureは、FreeBSDの2桁のリリース番号を正しく認識しないため。

対策

根本的には、PHPリリース側で対応しないと解決しない問題。リリース側で、PHPに含めるconfigureを新しいautotoolを使って作成し直さないといけない。

ユーザ側でできるad-hocな対策としては、2通りの方法がある。

libtoolをシステムからコピー

configureした後、/usr/local/bin/libtoolをPHPのソースを展開したディレクトリにコピーしてからmakeする。

PHPのファイルを編集

次のファイル中の「freebsd1*)」を「freebsd1.*)」にすべて書き換える。(1の後ろにピリオド追加。)

  • aclocal.m4
  • configure
  • build/libtool.m4

書き換えた後にconfigureしてmake。