Pgがうまく入らない件について。
会社で梃子摺っている
perl の Pg.pm がインストールできない件についてメモ。
って、この連休中に家で解決しちゃえって思ったんだけど
さらに悪化しているので、解決方法は書いていなのだけど(苦笑)
会社のとあるサーバーに、インストールされたはずのPostgreSQL。
しかし、Pg.pm をインストールしようと、いつものように
などと打つと途中でエラー。perl -MCPAN -e 'install Pg'
とりあえず、依存する他のライブラリが必要でrequireなパッケージ名が並んでいたので
全て -MCPAN で立て続けにインストールするも、
やっぱり、Pg.pm インストール時にエラー。
please set environment variables POSTGRES_INCLUDE and POSTGRES_LIB !
って言うので、とりあえず、root の .bach_profile だの .bashrc だのに
などと書いて libpq.soの在り処にパスを通す。export POSTGRES_LIB=/usr/lib/
export POSTGRES_INCLUDE=/usr/lib/
が、それでもまだエラーが出て、libpq-fe.h がないって言うんで
「それは、なんぞやそ?」と調べてみると、どうやら postgresql-devel に入ってるものらしい。
が、会社のサーバーは Fedora で、OSインストール時に
PostgreSQLはインストールされるものの、develは入らないらしい。
$rpm -qa | grep postgresqlpostgresql-libs-8.1.4-1.1
postgresql-server-8.1.4-1.1
postgresql-8.1.4-1.1
postgresql-python-8.1.4-1.1
しょうがないので、postgresql-devel-8.1.4-1.1.i386.rpm を wgetしてきて
うりゃっ、とインストール。$rpm -ihv postgresql-devel-8.1.4-1.1.i386.rpm
これで Pg.pm をインストールしてみると、今度は make test でコケる。むむ。
無視して make install やってみたら入ったので(←いい加減な性格)
perlスクリプト中で Pg::connectdb とやってみたら、
「そんな関数知りませんぜ」と文句言われてエラー。
Pg.pm には、勿論 use lib("パス"); でパスを通したのだが。
…と、ここまでが会社での出来事。
連休、我が家のcoLinux上のDebianで、同じことをしようとして
やっぱり、libpq-fe.h がないってエラーが出たので、
今度は apt-get で、同じように devel を取ってこようとするが、
何故か「そんなもんは、ありゃしませんぜ、旦那っ」って言われて、小首をかしげる。
仕方ないので、/etc/apt/sources.list に、新たにどっかのサーバーを追加してみたり
しばし格闘していると、実は「postgresql-dev」で取ってこないとアカン事に気付く。
よし、これさえ入れれば…と喜んでいると、
今度は不吉な文字列 e2fsprogs が、どーのこーので入らないとか言い出す。
無理矢理
apt-get -o APT::Force-LoopBreak=yes install postgresql-dev
などとしてインストールしてみると、さらに状況悪化(笑)
あー、もー、疲れた。ダメだ。今日はやめておこう。
また会社の方でいじって、そっちで何か解決できないか調べてみよう。