From: __JC__ <02ybur@...> Date: 2012-05-17T10:41:52+09:00 Subject: [ruby-list:48769] Re: gem install pg で、PQconnectionUsedPassword チェックが no となる 篠田さん こんにちは。__JC__ です。 > -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L/usr/local/pgsql/lib > -Wl,-R/usr/local/pgsql/lib > > このように、/usr/local/lib を先に参照するようです。 -L. の直後に -L/usr/local/lib が置かれているとなると、それ以上前に /usr/local/pgsql を 持ってくる方法は私にはわからないです。 gem コマンドで入れるとなると先に篠田さんが書かれていたリンクを張る方法しか ないかもしれません。 お力になれず残念です。 __JC__ On 2012/05/16, at 23:41, SHINODA Masanori wrote: > 篠田です。 > > __JC__さん、ご教示ありがとうございます。 > > 2012年5月16日 12:05 __JC__ <02ybur@gmail.com>: >> /usr/local/{include, lib} に存在する古い Postgres ライブラリ ではなくて、 >> /usr/local/pgsql/{include, lib} 以下にある Postgres ライブラリを使いたい >> という理解でよいでしょうか。 > > はい。そうです。 > >> であれば、 >> >> gem install pg -- --with-pg-dir=/usr/local/pgsql/ >> >> で上手くいかないでしょうか? >> >> 手元の環境で gem コマンド自体を試してないですが、pg-0.13.2/ext/ 以下で下記2つを実行して、 >> 1) ruby extconf.rb --with-pg-dir=/usr/local/pgsql >> 2) ruby extconf.rb --with-pg-config=/usr/local/pgsql/bin/pg_config >> >> mkmf.log を見比べると、いずれの場合もライブラリパスオプション -L/usr/local/pgsql/lib は >> 含まれているのですが、1) の場合 -L/usr/local/pgsql/lib が -L/usr/local/lib よりも前に置かれていて、 >> 2) の場合は -L/usr/local/lib が -L/usr/local/pgsql/lib よりも先にきていました。おそらくその順番の >> 違いが原因だと思われます。 > > gem install pg -v '0.13.2' -- --with-pg-dir=/usr/local/pgsql > を実行してみましたが、今までと同様のエラーが発生しました。 > # gem install pg -v '0.13.2' -- --with-pg-dir=/usr/local/pgsql > 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 --with-pg-dir=/usr/local/pgsql > checking for pg_config... yes > Using config values from /usr/local/bin/pg_config > checking for libpq-fe.h... yes > checking for libpq/libpq-fs.h... yes > checking for pg_config_manual.h... yes > checking for PQconnectdb() in -lpq... yes > checking for PQconnectionUsedPassword()... no > Your PostgreSQL is too old. Either install an older version of this > gem or upgrade your database. > *** 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=/usr/local/bin/ruby > --with-pg > --without-pg > --with-pg-dir > --with-pg-include > --without-pg-include=${pg-dir}/include > --with-pg-lib > --without-pg-lib=${pg-dir}/lib > --with-pg-config > --without-pg-config > --with-pg_config > --without-pg_config > --with-pqlib > --without-pqlib > > > Gem files will remain installed in > /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.13.2 for inspection. > Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.13.2/ext/gem_make.out > > ログファイル /vol1/usr/local/lib/ruby/gems/1.9.1/gems/pg-0.13.2/ext/mkmf.log > を見てみると、 > > -I. -I/usr/local/pgsql/include -I/usr/local/include > > このように、include ファイルは /usr/local/pgsql/include が先に参照されるようですが、 > lib については、 > > -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L/usr/local/pgsql/lib > -Wl,-R/usr/local/pgsql/lib > > このように、/usr/local/lib を先に参照するようです。 > > -- > SHINODA Masanori > Net & Field Co.,Ltd. Internet Service Section > Phone 082-231-0760 Fax 082-231-0776 > Portable... 090-6419-9919 >