しばらく前から、portupgrade pecl-memcache-3.0.4_1 しても、こんなエラーが出てました。
# make
===> pecl-memcache-3.0.5 depends on file: /usr/local/include/php/main/php.h - found
===> pecl-memcache-3.0.5 depends on file: /usr/local/bin/phpize - found
===> pecl-memcache-3.0.5 depends on file: /usr/local/lib/php/20060613/zlib.so - found
===> pecl-memcache-3.0.5 depends on file: /usr/local/lib/php/20060613/session.so - found
===> pecl-memcache-3.0.5 depends on file: /usr/local/bin/autoconf-2.68 - found
===> PHPizing for pecl-memcache-3.0.5
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
*** Error code 1
しばらく待ってたらportsが修正されるのかな、と思ってたけど、いまだ直らず、ってことで、ネット検索して、すぐにわかりました。
「Cannot find autoconf. Please check your autoconf installation ~」というエラーは、/usr/local/bin/phpizeが出しているエラーだそうです。
/usr/local/bin/phpize を見てみると、すぐに場所がわかりました。
phpize_check_autotools()
{
test -z "$PHP_AUTOCONF" && PHP_AUTOCONF=autoconf-2.67
test -z "$PHP_AUTOHEADER" && PHP_AUTOHEADER=autoheader-2.67
if test ! -x "$PHP_AUTOCONF" && test ! -x "`$php_shtool path $PHP_AUTOCONF`";
then
cat <<EOF
Cannot find autoconf. Please check your autoconf installation and the
\$PHP_AUTOCONF environment variable. Then, rerun this script.
しかも、ああ、なるほど、コマンド名がべた書きしてあるじゃないですか。
PHP_AUTOCONF=autoconf-2.67
最近、portsのautoconfのバージョンが上がって、devel/autoconf268に変わってました。そして、pkgdb -Fしたとき、/usr/local/bin/autoconf-2.67を削除してました。だからphpizeでエラーが出たと。
というわけで、とりあえずの対処方法として、こんな風に、環境変数を設定してしまうのが良さそうです。
# setenv PHP_AUTOCONF /usr/local/bin/autoconf-2.68
# setenv PHP_AUTOHEADER /usr/local/bin/autoheader-2.68
それよりは、phpを再ビルドして、/usr/local/bin/phpizeを置き換えた方がよいかも?
本文とはまったく関係ありません。また季節外れです。
0 件のコメント:
コメントを投稿