こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

perl DBD::Pg インストールでエラー発生

こんにちは。
以下の環境でPerl+postgreSQLのCGIを作成していますが、
DBI、DBD::PGのインストールでエラーが出てしまい大変困っています。
どうぞお力添えをお願いします。

環境----------------------
OS:CentOS
VERSION = PostgreSQL 8.1.18
Perl:v5.8.8
--------------------------
●手順
CPANより下記モジュールをダウンロードし、
・DBI : DBI-1.609.tar.gz
・DBD::PG : DBD-Pg-2.16.1.tar.gz
それぞれ
・perl Makefile.PL
・make
・make install
を実行。

DBD::PGの perl Makefile.PL で pg_config のパスを聞かれるが存在しなかったため、ネットの情報から以下を実行。
yum install postgresql-devel

再度DBD::PGのperl Makefile.PL
を実施しましたが、以下のようなワーニング(※1)が出力してしまい、
make,make installを実施後に動作確認のスクリプトを実行してもやはりエラーとなってしまいます。(※2)

※1
Warning: prerequisite version 0 not found.
Could not eval '
package ExtUtils::MakeMaker::_version;
no strict;

local $VERSION;
$VERSION=undef; do {
use version; our $VERSION = qv('2.16.1');
}; $VERSION
' in Pg.pm: Can't locate version.pm in @INC (@INC contains: t/lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 10) line 7, <FH> line 20.
BEGIN failed--compilation aborted at (eval 10) line 7, <FH> line 20.
WARNING: Setting VERSION via file 'Pg.pm' failed
at /usr/lib/perl5/5.8.8/ExtUtils/MakeMaker.pm line 515
Multiple copies of Driver.xst found in: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI/ /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI/ at Makefile.PL line 263
Using DBI 1.609 (for perl 5.008008 on i386-linux-thread-multi) installed in /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI/
Writing Makefile for DBD::Pg

※2
install_driver(Pg) failed: Can't locate version.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/DBD/Pg.pm line 20.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/DBD/Pg.pm line 20.
Compilation failed in require at (eval 3) line 3.
Perhaps a module that DBD::Pg requires hasn't been fully installed
at ./test02.pl line 5

どうぞよろしくお願いいたします。

投稿日時 - 2010-02-02 02:12:10

QNo.5642395

すぐに回答ほしいです

質問者が選んだベストアンサー

「DBD::Pg」をインストールするには「DBI」だけでなく、
「version」が事前にインストールされている必要があります。
CPANからダウンロードしてインストールした後に、再度試してみてください。

投稿日時 - 2010-02-02 21:16:09

お礼

ありがとうございました!
ご指摘の通りversion-0.80.tar.gzをインストールすることで
無事、DBIをインストールすることができました。
ところで、だたいまパールを初めて一週間の若輩者で四苦八苦しておりますが
上記のような情報はどこで得られるのでしょうか?

投稿日時 - 2010-02-03 02:10:13

ANo.1

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

インストールドキュメントやREADME(もちろん英語です)を読めば
書いてありますし、貼り付けられたエラーにもversion.pm が
見つからないと書かれていますね。

# ' in Pg.pm: Can't locate version.pm in @INC (@INC contains: t/lib /usr/lib/perl5

投稿日時 - 2010-02-04 00:16:28

あなたにオススメの質問