四苦八苦

HTMLを XPath とか ElementTree みたいに楽にパースしたいな〜と思ってライブラリを探したら、この手の XML Manipulation は lxml 一択っぽい雰囲気だったので入れることにした。ただ、Leopard に入っている libxml2 と libxslt が古くて色々と苦労した。

$ easy_install http://atty.skr.jp/pub/lxml-2.0.2-py2.5-macosx-10.5-i386.egg

卵おいときます。たぶんLeopard専用だけどUniversal Binaryになってるはず。libxml2/libxsltはstatic linkしています。

libxml

CFLAGS="-arch i386 -arch ppc" CXXFLAGS="$CFLAGS" LDFALGS="$CFLAGS" ./configure --without-python --disable-dependency-tracking
make install

libxslt

CFLAGS="-arch i386 -arch ppc" CXXFLAGS="$CFLAGS" LDFALGS="$CFLAGS" ./configure --without-python --disable-dependency-tracking --with-libxml-prefix=/usr/local
make install

lxml

setupinfo.pyのlibrariesにiconvを加える。
/usr/libと/usr/local/libのlibexslt.dylib libxml2.dylib libxslt.dylib をリネームして検索されないようにする
PATH="/usr/local/lib:$PATH" python setup.py bdist_egg ↑のライブラリは勝手に static link される
リネームしたdylibを元に戻す