編集(管理者用) | 編集 | 差分 | 新規作成 | 一覧 | RSS | 表紙 | 検索 | 更新履歴

CygwinとPerlのlibxml関連モジュール

CygwinでPerlのlibxml関連モジュールをmakeするのに成功したことをメモ。

取り敢えずの成功

けっこう以前からPerlのXML::LibXML、XML::LibXSLTモジュールをmakeしようとしていて、何度も失敗していました(特にXML::LibXSLT)。がこのたび(2004年5月25日)以下のバージョンでインストールできることを確認。

Perl
5.8.2
libxml2
2.5.11-1
libxslt
1.0.33-1
XML::LibXML
1.58
XML::LibXSLT
1.57

むやみにこれ以上バージョンアップしないようにしとこう……。

追記(2004年12月24日)

試しにもう一度makeしてみたところうまく行かなかったのですが、cygwinのfork()の問題でdllをrebaseしなければならない(?)ということがあるそうで、rebaseallコマンドを実行したらmakeが通りました。他の環境でも試してみよう。

追記2(2004年12月27日)

以下のパッケージのバージョンでXML::LibXML、XML::LibXSLTのmakeに成功しました。ちなみにWindows XP環境です。

perl
5.8.5-3
libxml2
2.6.16-1
libxml2-devel
2.6.16-1
libxslt
1.1.10-1
XML::LibXML
1.58
XML::LibXSLT
1.57

追記3(2004年12月29日)

最初に書いた環境(自宅のPC、Windows 2000)から、幾つか試してみました。

※ちなみにXML::LibXMLのインストールにはXML::LibXML::Commonが必要なのですが、それもmakeに失敗していました。

うーむ。

追記4(2005年1月8日)

掲示板で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

情報に感謝です!

追記5(2004年1月14日)

Windows 98(ノートPC)でも追記4の方法でインストール成功しました。

perl
5.8.5-3
libxml2
2.6.13-1
libxslt
1.1.10-1

※ libxml2-develはインストールしていませんでした。

追記6(2006年3月5日)

Windows 2000環境を新しくインストールし直したので、CygwinおよびPerlのlibxml関連モジュールもインストールし直してます。

CPANでのインストールでは、XML::LibXML(1.58)のインストールに失敗したのですが、CPANからXML-LibXML-1.58_1(DEVELOPER RELEASE)を持ってきて、手動でmakeしたところ、うまくインストールできました。Makefaleの変更も必要ありませんでした。

XML::LibXSLTはCPANでのインストールでもうまくいきました。

cygwin
1.5.19-4
perl
5.8.7-5
libxml2
2.6.22-1
libxslt
1.1.15-2
XML::LibXML
1.58_1
XML::LibXSLT
1.58