postgresql 8.1 から 9.0 へのアップグレード後、ライブラリの依存関係の問題に気づきました。Postgresql は正常に動作します (接続、クエリ)。
yum list postgresql*
Installed Packages
postgresql.i386 9.0.0-1PGDG.el5 installed
postgresql-debuginfo.i386 9.0.0-1PGDG.el5 installed
postgresql-devel.i386 9.0.0-1PGDG.el5 installed
postgresql-libs.i386 9.0.0-1PGDG.el5 installed
postgresql-odbcng.i386 0.90.101-2.el5 installed
postgresql-plruby.i386 0.5.1-5.el5 installed
postgresql-server.i386 9.0.0-1PGDG.el5 install
しかし、ルビー用に「pg」をインストールしようとすると、受け取った
gem install pg
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for pg_config... no
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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.
別の ruby-postgres ドライバーで試してみると、
yum install ruby-postgres
ruby-postgres-0.7.1-5.el5.i386 from epel has depsolving problems
--> Missing Dependency: libpq.so.4 is needed by package ruby-postgres-0.7.1-5.el5.i386 (epel)
と
locate libpq.so.4
/usr/lib/libpq.so.4
/usr/lib/libpq.so.4.1
エクスポートされたパスも
LD_LIBRARY_PATH=/usr/pgsql-9.0/lib
export LD_LIBRARY_PATH
「require pg」(8.1で動作)でrubyスクリプトを実行した後、次のようになりました:
/usr/local/lib/ruby/site_ruby/1.8/i686-linux/pg_ext.so: libpq.so.4: cannot open shared object file: No such file or directory - /usr/local/lib/ruby/site_ruby/1.8/i686-linux/pg_ext.so (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/pg.rb:12
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require'
もっと何をすべきか提案はありますか?