2010/11/05

gem install pg がエラーではまった

先ほどのエントリにて Thinkpad の環境構築時に唯一はまった点。
gem 以外の環境構築ができたので、rails アプリを svn で持ってきて bundle install した。
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

/home/pinzolo/.rvm/rubies/ruby-1.8.7-p302/bin/ruby extconf.rb
checking for pg_config... yes 
checking for libpq-fe.h... yes 
checking for libpq/libpq-fs.h... yes 
checking for PQconnectdb() in -lpq... no 
checking for PQconnectdb() in -llibpq... no 
checking for PQconnectdb() in -lms/libpq... no 
Can't find the PostgreSQL client library (libpq) 
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers.  Check the mkmf.log file for more 
details.  You may need configuration options. 

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/home/pinzolo/.rvm/rubies/ruby-1.8.7-p302/bin/ruby
        --with-pg
        --without-pg
        --with-pg-config
        --without-pg-config
        --with-pg-dir
        --without-pg-dir
        --with-pg-include
        --without-pg-include=${pg-dir}/include
        --with-pg-lib
        --without-pg-lib=${pg-dir}/lib
        --enable-static-build
        --disable-static-build

Gem files will remain installed in /home/pinzolo/.rvm/rubies/ruby-1.8.7-p302/gems/pg-0.9.0 for inspection.
Results logged to /home/pinzolo/.rvm/rubies/ruby-1.8.7-p302/gems/pg-0.9.0/ext/gem_make.out
いくつか調べたが、ずばりな解は見つからなかった。
要するにライブラリが見つからないんだろうと言うことで、
gem install pg -- --with-pq-config=/usr/lib/postgresql/8.4/bin --with-pg-lib=/usr/lib
てやったらインストールできた。めでたしめでたし。
ここまでが昨日。

でもよく考えたら pg_config って /usr/lib/postgresql/8.4/bin にはない。
てことは --with-pg-config=/usr/lib/postgresql/8.4/bin はおかしいんじゃないのか?
というわけで、いったん pg をアンインストールして、今度は下記を実行。
gem install pg -- --with-pg-lib=/usr/lib
おお、インストールできた。というわけで gem install pg -- --with-pg-lib=/usr/lib が正解です。
/usr/lib なんて参照のためにあるような場所なのに見てくれてないのか・・・

0 件のコメント :

コメントを投稿