DBD::Pg の make test がすんなり通るケースってあるの???[Perl]
(2016-05-17 17:52:50) by shinoda


PostgreSQL インストールして DBI と DBD::Pg の2つの Perl モジュールをインストール。

もちろん cpan でささっと・・・と行きたいが、相変わらず DBD::Pg は cpan じゃ make test が引っかかってうまくいかないな(^^;

これ、うまくいくケースってあるの?

もう、20年近く(Pg.pm の時代から)DBD::Pg インストールしてきたけど、一回もすんなり cpan コマンド一発でインストールに成功したことないんだけど(^^;
多くの人の環境でエラーになるような test なら意味ないと思うんだけど?
少なくとも、cpan の手順からだけでも make test なんか抜いてしまえばいいんじゃないかと・・・

ま、そりゃ無理なんだろうけどさ。

というわけで、いつものように make test だけ吹っ飛ばすよう手作業でインストール。

# cp /root/.cpan/sources/authors/id/T/TU/TURNSTEP/DBD-Pg-3.5.3.tar.gz ~postgres
# chown postgres ~postgres/DBD-Pg-3.5.3.tar.gz
# su - postgres
$ tar xfzp DBD-Pg-3.5.3.tar.gz
$ cd DBD-Pg-3.5.3
$ perl Makefile.PL
$ make
$ exit
# cd /usr/local/pgsql/DBD-Pg-3.5.3
# make install

で、OK。

パスを通して、一般ユーザで試しに使ってみる。

$ PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
$ export POSTGRES_HOME=/usr/local/pgsql
$ export PGDATA=$POSTGRES_HOME/data
$ export PGLIB=$POSTGRES_HOME/lib
$ export LD_LIBRARY_PATH=$POSTGRES_HOME/lib
$ perl
use DBD::Pg;
Can't load '/usr/local/lib64/perl5/auto/DBD/Pg/Pg.so' for module DBD::Pg: libpq.so.5: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません at /usr/lib64/perl5/DynaLoader.pm line 190.
 at - line 1.
Compilation failed in require at - line 1.
BEGIN failed--compilation aborted at - line 1.

あかんやん。「libpq.so.5: 共有オブジェクトファイルを開けません」でググったら、俺のこのブログが最初にヒットした(^^;

「共有オブジェクトファイルを開けません」エラーではまった・・・

毎回、同じことで引っかかとるんやあ(^^;;

root で、

# chmod 755 /usr/local/pgsql

として、

$ perl
use DBD::Pg;
^D

なんのエラーも出ない。ばっちりやん(笑)

手動インストールに使ったファイル消しとこ。

$ \rm -R DBD-Pg-3.5.3
rm: 書き込み保護されたファイル 通常ファイル `DBD-Pg-3.5.3/blib/lib/DBD/Pg.pm' を削除しますか?y
rm: 書き込み保護されたファイル 通常ファイル `DBD-Pg-3.5.3/blib/lib/Bundle/DBD/Pg.pm' を削除しますか?y
$ \rm DBD-Pg-3.5.3.tar.gz

いやあ、今回は、shinodaさんの「電気ウナギ的○○」というサイトがすごく役に立った!!(笑)

コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8