CPANでDBD::Pgがこけたので、ソースからインストールした。
ディレクトリ移動
#cd /root/.cpan/build/DBD-Pg-2.8.7/
環境変数をセット
export POSTGRES_HOME=”/usr/local/pgsql/”
export POSTGRES_LIB=”/usr/local/pgsql/lib/”
export POSTGRES_INCLUDE=”/usr/local/pgsql/include/”
make
と、ここまでは順調。
しかし、make testをしてみると、下記の様なエラーが発生した。
make test
PGINITDB=”/usr/local/pgsql/bin/initdb” PERL_DL_NONLAZY=1 /usr/bin/perl “-MExtUtils::Command::MM” “-e” “test_harness(0, ‘blib/lib’, ‘blib/arch’)” t/*.t
t/00-signature……skipped
all skipped: Set the environment variable TEST_SIGNATURE to enable this test
t/00basic………..
# Failed test ‘use DBD::Pg;’
# in t/00basic.t at line 14.
# Tried to use ‘DBD::Pg’.
# Error: Can’t load ‘/root/.cpan/build/DBD-Pg-2.8.7/blib/arch/auto/DBD/Pg/Pg.so’ for module DBD::Pg: libpq.so.5: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.
# at (eval 9) line 2
# Compilation failed in require at (eval 9) line 2.
# BEGIN failed–compilation aborted at t/00basic.t line 14.
t/00basic………..NOK 2FAILED–Further testing stopped: Cannot continue without DBD::Pg
make: *** [test_dynamic] エラー 9
READMEを読むと、「ldconfigに追加しろ」などと書いていた。
/etc/ld.so.conf.d/pgsql.confというファイルを作成して、中にpostgresqlのlibディレクトリまでのパスを書いてやる。
echo “/usr/local/pgsql/lib” > /etc/ld.so.conf.d/pgsql.conf
pgsql.confファイルの作成後、ldconfigコマンドにてリンクの再構成を行なう。
再度make test、make installを実行すると問題無くインストールされた。