Snow Leopardで少し古いPHPをビルドする方法
PHP bugs #49332で指摘されているのですが、PHP5.2.10以前およびPHP5.3.0をSnow Leopard(MacOSX 10.6)でビルドしようとすると、リンク時に下記のようなエラーが出てビルドに失敗します。
Undefined symbols: "_res_9_search", referenced from: _zif_dns_get_mx in dns.o _zif_dns_check_record in dns.o "_res_9_dn_expand", referenced from: _zif_dns_get_mx in dns.o "_res_9_dn_skipname", referenced from: _zif_dns_get_mx in dns.o _zif_dns_get_mx in dns.o
対策としては、リンクオプションとして-lresolvをつけてやればOKです。PHPのconfigure時に下記のようにすればMakefileのリンクオプションが追加されます*1。
$ EXTRA_LIBS=-lresolv ./configure
ちなみに、phpallのおまけの、全PHPをビルドするスクリプト(install-all-php.sh)も本件に対応しました。Snow Leopard環境とCentOS5(64bit)環境で全PHPがビルドできましたが、動かなくなった環境などあれば教えてください。