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$ perluse 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
として、
$ perluse DBD::Pg;^D
なんのエラーも出ない。ばっちりやん(笑)
手動インストールに使ったファイル消しとこ。
$ \rm -R DBD-Pg-3.5.3rm: 書き込み保護されたファイル 通常ファイル `DBD-Pg-3.5.3/blib/lib/DBD/Pg.pm' を削除しますか?yrm: 書き込み保護されたファイル 通常ファイル `DBD-Pg-3.5.3/blib/lib/Bundle/DBD/Pg.pm' を削除しますか?y$ \rm DBD-Pg-3.5.3.tar.gz
いやあ、今回は、shinodaさんの「電気ウナギ的○○」というサイトがすごく役に立った!!(笑)