こんにちは。Perlの「XML::RSS::LibXMLモジュール」をインストールしようと試行錯誤しているのですがうまくいきません。Fedora Core 4を使用しています。CPANからであれば依存関係にあるものも同時に入れることができるとのことで、cpan> install XML::RSS など試みてみましたが、make test had returned bad status, ... と出てしまいます(tar-ballからの方法も試みてみましたが同じ結果でした)。


また、「Can’t locate モジュール名 in @INC ...」というエラーメッセージもよく出ます。検索してみると、似たような現象についての書き込みなどはいくつか見つかるのですが、解決策まで記載されているところはありませんでした。その後もキーワードを様々入れ替えていろいろ検索してみたのですが、どうにも上手くいかず、こちらで皆さんのお知恵をお借りできればと思っております。PerlのXML関係のモジュールはインストールに手間がかかるとウェブ上や雑誌で見たことがあるのですが、そういうものなのでしょうか?それではよろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:tetsuyasodo No.1

回答回数11ベストアンサー獲得回数2

ポイント50pt

まずXML::RSS系のモジュールインストールにはXML::Parserモジュールが必要です。

ただし、このモジュールのインストールには(OSの)expatライブラリの存在が必要です。

これはCPANインストールではなく、Linuxのrpmパッケージのインストールを行う必要があります。

使用OSはFedora Core 4ですので、yumかrpmコマンドで入れてください。

# rpm -qa | grep expat

expat-1.95.5-6

のように表示されればインストール済みですが、表示されなければ以下のようにインストールしてください。

# yum install expat

or

# rpm -ivh expat-1.95.5-6.i386.rpm

(バージョン/ファイル名はOSにより異なる)


「Can’t locate aaa.pm in @INC...」というエラーメッセージはPerl側でaaaモジュールが見つからないというメッセージですので、CPANインストールでinstall aaaとすれば入れられるはずです。aaa/bbb.pmがないといわれたらinstall aaa::bbbとしてください。

id:n85

tetsuyasodo さん、ありがとうございます。

お返事が遅れましてすみません。

モジュールには依存関係があるとのことで、それぞれのモジュールをインストールする過程で書き留めておいたものをまとめると、必ずしも正確ではありませんが以下のようになるようです。

XML::RSS::LibXML

Test::Manifest

XML::Parser

XML::LibXML::XPathContext

XML::LibXML

XML::LibXML::Common

XML::SAX

XML::NamespaceSupport

アドバイスいただいたように expatを入れたことにより、各モジュールのうち、本丸のXML::RSS::LibXML「以外」についてはインストールできたようです(確認のため cpan でinstall としてみますと、例えば XML::Parser is up to date. と出ます)。

ただ、cpan> install XML::RSS::LibXML としますと、Bad free() ignored (PERL CORE) at /root .cpan/build/XML-RSS-LibXML-0.09/blib/lib/XML/RSS/LibXML/LibXML/Parser.pm line 246 というメッセージが多数出ます。make testがうまくいっていないとのことです。cpan> install XML::RSS であれば、XML::RSS is up to date. と出るのですが・・・。

expatの他にもライブラリが必要なのでしょうか?何かお気づきの点などございましたらお知らせいただければと思います。よろしくお願いします。

2005/10/15 15:25:35
id:naoya No.2

回答回数14ベストアンサー獲得回数1

ポイント50pt

http://xmlsoft.org/

The XML C parser and toolkit of Gnome

XML::RSS::LibXML はその名の通り LibXML を使ってるので、libxml2 もインストールする必要があります。


パッケージでいれるなら libxml2 と libxml2-dev あたりかなと思います。


以下蛇足です。


テストなのですが、テストも人が書いてるコードで自動化してあるものなので、テストコードにバグがある、ということも時折あります。(XML::RSS::LibXML は大丈夫だと思いますが。) そういうときは、force install コマンドを使うと make test で失敗しても無理やりインストールできたりもします。

id:n85

naoya さん(ですか!)、レスをいただきありがとうございます!

> パッケージでいれるなら libxml2 と libxml2-dev あたりかなと思います。

tetsuyasodo さんへのお返事に加えるべきでしたが、libxml2 もインストールしておりました。すみません。

> テストコードにバグがある、ということも時折あります。

教えていただいたとおり、cpan で force install コマンドを使ってみたところ、上でお知らせしたような Bad free() ... というメッセージが続いた後に make install に進み、install -- OK と出ました。perl の短いスクリプトで試してみたところ、問題なくモジュールを使用することができました。お答えいただいた tetsuyasodo さん、naoya さん、どうもありがとうございます!

今回は、「はてな」のなおやさんが執筆されたAPI関係の雑誌記事を見て取り組んでおりました。おかげさまで何とか先に進めそうです。「乗っかりはてな」をしていただいた匿名さんの方にも感謝します。同じような状況で困っておられるのかもしれないので、今回の情報が解決の糸口になればと思います。それではこれで質問を終了とさせていただきます。ありがとうございました。

2005/10/17 09:24:15

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • hiropon::suburbia::hatena hiropon::suburbia::hatena 2006-03-13 16:13:13
  • D-5 出張版 D-5 出張版 2006-03-13 16:13:14
  • I sort my thought... I sort my thought... 2006-03-13 16:13:24
  • XML::Atomを入れるまでの道のり 偏差値40からのLinux 2008-01-10 11:45:54
    何も考えずに install XML::Atom すると XML::Parser XML::XPath XML::LibXML あたりが無くてコケている模様。 XML::ParserとXML::LibXMLはヘッダファイル(*.h)とかがないっぽいので yum install expat-devel yum install libxm
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません