preload
5月 10

その後、berylの調子が悪いので、結局フルで入れ直した。「デスクトップ効果」メニューで十分ぐりぐりできるし、確かに前よりサクサク動く。

で、開発(というかテスト)環境も久々に再構築。
僕の場合、パッケージに頼った方が無難とは分かっていながらも、

  • 自分流にアプリケーション配置したい
  • 更新に即対応できるようにしておきたい
  • いろんな条件のサーバに触ることになっても無難に対応できるようにしたい

とかの理由で、せめて開発にわりと直結するげなアプリについては、ソースからインストールすることが多い。パッケージによってはオリジナルと比較して全然違うファイル構成になってたりして、設定方法もわけわかんなくなっちゃってることあるし。なんかあったときに、動作を追うのが大変だから、入れるときに一通り確認するようにしてる。(でもmysqlはいつもビルド済みのバイナリを拾ってきてた。)

ということで、ubuntu 7.04 に apache-2.2.4, mysql-5.0.37 入れて、php-5.2.2 の設定に
進んだら、configure でエラー。

$ ./configure –prefix=PREFIX –with-apxs2=/path/to/apxs –with-mysql=/path/to/mysql –other-configure-option..
:
checking for mysql_close in -lmysqlclient… no
checking for mysql_error in -lmysqlclient… no
configure: error: mysql configure failed. Please check config.log for more information.

とか出ちゃう。いろいろログを追っていくと、どうも glibc 周りがクサい。で、glibc のバージョンを確認。

$ ls /lib/libc-*
/lib/libc-2.5.so

うお、2.5 だ。etch も 2.5 って聞いてたけど、$ cat /etc/debian_version したら 4.0 だし、なるほど、これは見逃していた。

ということで、今回インストールしてたのが mysql-5.0.37-linux-i686-icc-glibc23.tar.gz だったから、これをソースからインストールすることに決定。mysql-5.0.37.tar.gz を拾ってきて、configure する。mysql ソースインストールは初めてだ。

ところが、この configure も通らない。

$ ./configure –prefix=PREFIX
:
checking for tgetent in -ltermcap… no
checking for termcap functions library… configure: error
: No curses/termcap library found

ぬー、なんか足りないらしい。あまり深いライブラリ群まで一個一個用意するのはさすがに手間なので、このあたりからパッケージに頼ることにした。$ apt-get source mysql-server-5.0 でパッケージのソース一式を取得し、 *.dsc の中の Build-Depends を確認。libncurses5-dev が足りなかったらしい。

ここまでのまとめ

  • ソースインストールとパッケージインストールを中途半端に混在させると、バージョン合わせとか超大変。ソースでやるなら覚悟を決めて、着実にやる
  • 新しげな環境へのソフトウェアインストールは、ちゃんとマニュアルを読んで一歩一歩進める
  • READMEとINSTALLちゃんと読んでいけば、大体インストールできる
  • apt-get source で取得したファイル中でパッケージの依存関係がわかるので、糸口掴むのに使える

とりあえず、php-5.2.2 の configure までは通った。
でも、make test でまだコケる。なんでー?

=====================================================================
FAILED TEST SUMMARY
———————————————————————
Bug #41117 (Altering $this via argument) [Zend/tests/bug41117_1.phpt]
Bug #16069 [ext/iconv/tests/bug16069.phpt]
iconv stream filter [ext/iconv/tests/iconv_stream_filter.phpt]
json_encode() & endless loop – 3 [ext/json/tests/005.phpt]
Bug #22414 (passthru() does not read data correctly) [ext/standard/tests/file/bug22414.phpt]
proc_open [ext/standard/tests/general_functions/proc_open02.phpt]
=====================================================================

(2007/05/30追記) その後、システム開発の備忘録 さんのエントリを発見。うちもFAILEDが6個だったから一緒かな。(クリーンインストールなので設置済みの php.ini があったわけではない。)
テストの内容、fixされたバグ的に、あまり重くない内容のようだったので、レポートだけ送って、オフィシャルの対応を待つことにした。そのまま make install できたし、いまのところ特に問題なく使えてる。うーん、ちと気持ち悪い。


関連していそうなエントリ:

One Response to “Ubuntu 7.04 で PHP5.2.2 configure 中に mysql configure failed”

  1. kgworks Says:

    初めまして。トラバ有難う御座います。
    うちも問題なく使えてるので、FAILEDの部分は単純にPHP自体の問題かなという気がします。
    全くバグのないものだったら逆に怪しいですしね。

Leave a Reply