php 5.4.18のコンパイルでエラー
8/15にリリースされたphp 5.4.18をビルドしたらエラーになったので、そのときのメモ。apache2.4系でphpを使おうとしてビルドしてたら以下のエラーが出た。
なんかzendparse関数の定義が変みたい。調べると今年の3月くらいに多分同じ問題でソースが修正されていた。ただ少し前の話でphp5.4.18は当然この修正も入っている…のにまたエラーがでるようになっている。何故だ。
よくわからないが、「YYTOKENTYPEが定義されてないのがダメなんだろ、じゃぁ適当に定義しちゃえばいいじゃない」というわけで以下の修正を行なった。
※./Zend/zend_language_parser.h を修正。
上記の修正後にビルドしたら成功した。修正方法が正しいかは不明だけど、とりあずapache上でphpも動いてるのでこれで様子見てます。
余談だけど、phpのbugsに同じエラーの報告が上がってたので次のバージョンでは修正されるんじゃないかな。多分。
[2013/8/21追記]
phpのbugsに上がっていたエラー報告が修正されたみたいです。修正のコミットはこちら。次のリリースではエラーにならなくなってると思います(確認してないけど)。