CygwinでPerlのlibxml関連モジュールをmakeするのに成功したことをメモ。
けっこう以前からPerlのXML::LibXML、XML::LibXSLTモジュールをmakeしようとしていて、何度も失敗していました(特にXML::LibXSLT)。がこのたび(2004年5月25日)以下のバージョンでインストールできることを確認。
むやみにこれ以上バージョンアップしないようにしとこう……。
試しにもう一度makeしてみたところうまく行かなかったのですが、cygwinのfork()の問題でdllをrebaseしなければならない(?)ということがあるそうで、rebaseallコマンドを実行したらmakeが通りました。他の環境でも試してみよう。
以下のパッケージのバージョンでXML::LibXML、XML::LibXSLTのmakeに成功しました。ちなみにWindows XP環境です。
最初に書いた環境(自宅のPC、Windows 2000)から、幾つか試してみました。
※ちなみにXML::LibXMLのインストールにはXML::LibXML::Commonが必要なのですが、それもmakeに失敗していました。
うーむ。
掲示板でKimさんから情報を頂きました。Makefileの生成に問題があるらしく、perl Makefile.PLを実行した後、以下のようにMakefileを変更することで、最初に書いた環境(Windows 2000)でもmakeに成功しました。
XML::LibXML::Common, XML::LibXML :
EXTRALIBS = -L/usr/lib -lz -libconv -lm LDLOADLIBS = -L/usr/lib -lz -libconv -lm ↓ EXTRALIBS = -L/usr/lib -lz -libconv -lm -lxml2 LDLOADLIBS = -L/usr/lib -lz -libconv -lm -lxml2
XML::LibXSLT :
EXTRALIBS = -L/usr/lib -lz -lpthread -liconv -lm LDLOADLIBS = -L/usr/lib -lz -lpthread -liconv -lm ↓ EXTRALIBS = -L/usr/lib -lz -lpthread -liconv -lm -lxslt -lexslt -lxml2 LDLOADLIBS = -L/usr/lib -lz -lpthread -liconv -lm -lxslt -lexslt -lxml2
情報に感謝です!
Windows 98(ノートPC)でも追記4の方法でインストール成功しました。
※ libxml2-develはインストールしていませんでした。
Windows 2000環境を新しくインストールし直したので、CygwinおよびPerlのlibxml関連モジュールもインストールし直してます。
CPANでのインストールでは、XML::LibXML(1.58)のインストールに失敗したのですが、CPANからXML-LibXML-1.58_1(DEVELOPER RELEASE)を持ってきて、手動でmakeしたところ、うまくインストールできました。Makefaleの変更も必要ありませんでした。
XML::LibXSLTはCPANでのインストールでもうまくいきました。