先日 PHP 5.2.5 をビルドしようとしたところ
/usr/src/php-5.2.5/ext/mysqli/mysqli_api.c: In function
‘zif_mysqli_change_user’:
/usr/src/php-5.2.5/ext/mysqli/mysqli_api.c:420: error: ‘NET’ has no
member named ‘last_errno’
/usr/src/php-5.2.5/ext/mysqli/mysqli_api.c:420: error: ‘NET’ has no
member named ‘last_errno’
/usr/src/php-5.2.5/ext/mysqli/mysqli_api.c:420: error: ‘NET’ has no
member named ‘last_error’
/usr/src/php-5.2.5/ext/mysqli/mysqli_api.c: In function
‘zif_mysqli_kill’:
以下略
というエラーが出てコンパイルができなかった。
調べたら php bug に投稿がありました。
http://bugs.php.net/bug.php?id=44137
5.1.22-rc ならいけるのに MySQL 5.1.23-rc だとダメらしい。
そして開発チームの回答。
[18 Feb 7:41pm UTC] uw@php.net
A little more info: we are discussing this internally at MySQL. Its
possible that the change which has caused this (unintended) problem will
be reverted soon.
[24 Feb 1:01am UTC] jani@php.net
And it’s not PHP problem but Mysql problem since they broke the BC in
their libs/headers. 🙂
[24 Feb 1:03am UTC] jani@php.net
And please, in the future don’t report bugs caused by some 3rd party
library here which isn’t even released as stable yet.
曰く、
「mysql が悪い。こんな(不本意な)問題を引き起こしてくれる変更は mysql 開発側がじきに元に戻してくれるかもしれないからそれを待て。
そもそもサードパーティのライブラリに安定リリース版じゃないのを使ってるのはサポート外だから報告しないでね」
っていうことだそうで。
…とはいっても、FreeBSD ports の databases/mysql51-client (実体は mysql51-server) が 5.1.23-rc なのが悩ましいところです。