人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

こんにちは。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関係のモジュールはインストールに手間がかかるとウェブ上や雑誌で見たことがあるのですが、そういうものなのでしょうか?それではよろしくお願いいたします。

●質問者: n85
●カテゴリ:コンピュータ
✍キーワード:CPAN Fedora Core make Perl RSS
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tetsuyasodo
●50ポイント

http://mdqtool.hp.infoseek.co.jp/perlMemo.html

ビギナーのPerlメモ

まず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としてください。

◎質問者からの返答

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


2 ● naoya
●50ポイント

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 で失敗しても無理やりインストールできたりもします。

◎質問者からの返答

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

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

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ