FreeBSD 8.2でPHPのアップデートが出来ない

FreeBSD 8.2でPHPのアップデートが出来ない。

この問題は結構前から起こってて、なにげに苦しんでたりした。

PHP自身のバグというか、拡張モジュールが読み込まれない問題に遭遇してて、PHPの入れ直しをしたいなぁと思っていたのだけど、この問題のせいで入れ直しが出来なかった。

問題というのは、portsを利用してphp周りのパッケージをコンパイルするときに、途中でエラーが発生してコンパイルができない。もうちょっと詳しく言うとautoconfの2.68がnot foundって言われて止まってしまうのだ。

この問題に対していくつかの対策を行おうとした。だけれどダメだった。autoconfの入れ直しは行った。複数のバージョンを入れてシンボリックリンクで入れ替えてみたりした。autoconf-wrapperとシンボリックリンクを入れ替えてみた。でもダメだった。

でも今回ちょっとだけググったらうまくいった様子。それについてのメモメモ。

まずは問題点。portupgradeでコンパイルしようとすると./configure?の段階でエラーが出てしまう。


shell> sudo portupgrade -r php5

===>  PHPizing for php5-mcrypt-5.3.6
 Configuring for:
 PHP Api Version:         20090626
 Zend Module Api No:      20090626
 Zend Extension Api No:   220090626
 autoconf: required version 2.68 not found
 *** Error code 1

Stop in /usr/ports/security/php5-mcrypt.

(後略)

phpに関連するヤツはことごとくダメ。マジでダメ。

2.68 not foundって言われる割にはautoconfの2.68がちゃんと入ってる。


%pkg_info -Ix autoconf
 autoconf-2.68 Automatically configure source code on many Un*x platforms
 autoconf-wrapper-20071109 Wrapper script for GNU autoconf

ここでaucotonf 2.68 not foundあたりのキーワードでググってみるとまさにFreeBSDでPHPをコンパイルするときにエラーがでている人を発見。で、その人はこんな事を書いてる。

IMPORTANT: if you have either devel/autoconf-wrapper or
devel/automake-wrapper installed on your system (and you most likely do)
PLEASE update these ports to their new versions before updating anything
else — Bad Things[tm] are likely to happen otherwise.

"autoconf: required version 2.68 not found" error when trying to make php5 from FreeBSD's ports - Knowledge Base #54

さっくり翻訳すると、autoconf-wrapperかautomake-wrapperをインストールしている場合には、それらをアップデートしましょう、との事。早速確認してみる。


shell> sudo portversion -vL= | grep autoconf
 autoconf-wrapper-20071109   <  needs updating (port has 20101119)

確かに古い。ってことでアップデートをする。


shell> sudo portupgrade autoconf-wrapper-20071109

これでPHPのコンパイルがちゃんとできるようになった。めでたしめでたし。

コメントを残す