[#48737] Ruby1.9.3p194をwindows-xpへのローカルインストール時のエラーについて — eiichi_maekawa@...

13 messages 2012/05/09
[#48740] Re: Ruby1.9.3p194をwindows-xpへのローカルインストール時のエラーについて — "前川 映一" <eiichi_maekawa@...> 2012/05/11

前川です。

[#48741] Re: Ruby1.9.3p194をwindows-xpへのローカルインストール時のエラーについて — eiichi_maekawa@... 2012/05/14

前川です。

[#48750] Re: Ruby1.9.3p194をwindows-xpへのローカルインストール時のエラーについて — eiichi_maekawa@... 2012/05/15

前川です。

[#48746] gem install pg で、PQconnectionUsedPassword チェックが no となる — SHINODA Masanori <shinoda@...>

篠田と申します。初めて投稿します。

16 messages 2012/05/14

[ruby-list:48764] Re: gem install pg で、PQconnectionUsedPassword チェックが no となる

From: __JC__ <02ybur@...>
Date: 2012-05-16 03:05:48 UTC
List: ruby-list #48764
__JC__ と申します。

/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 よりも先にきていました。おそらくその順番の
違いが原因だと思われます。


On 2012/05/16, at 2:06, SHINODA Masanori wrote:

> 篠田です。
> 
> なかださん、ご教示ありがとうございます。
> 
> 2012年5月15日 22:51 Nobuyoshi Nakada <nobu@ruby-lang.org>:
>>> # cat /vol1/usr/local/lib/ruby/gems/1.9.1/gems/pg-0.13.2/ext/mkmf.log
>> 
>> パスが違うようですが、symlinkが張ってあるということでしょうか。
>> /usr/localと/vol1/usr/localは同じと仮定しますが、いずれにしても最初のメー
>> ルにあった設定とは一致していないように見えます。
>> 
>> (12/05/15 7:28), SHINODA Masanori wrote in [ruby-list:48746]:
>>> root でも、PGLIB 等のセットは行っております。
>>> 
>>> POSTGRES_HOME=/usr/local/pgsql
>>> PGLIB=/usr/local/pgsql/lib
>>> PGDATA=/usr/local/pgsql/data
>>> LD_LIBRARY_PATH=/usr/local/pgsql/lib
>> 
>> mkmf.logを見る限り、実行しているコマンド自体はおかしなところはなさそう
>> ですが、やはりPQconnectionUsedPasswordが見つかっていないようです。
>> /usr/local/libにあるlibpq.soが正しいものかどうか確認してみてください。
> 
> すみません。
> /usr/local に、/vol1/usr/local のシンボリックリンクを張っていることを書き
> 忘れておりました。
> 
> 確かにご指摘のとおり、
> 
> /vol1/usr/local/lib/libpq.so
> /vol1/usr/local/pgsql/lib/libpq.so
> 
> の2つのlibpq.soが存在していました。
> 日付から見ると、/vol1/usr/local/lib/libpq.so は 2年前に FreeBSD をセット
> アップしていた頃のものなので、何かを packages や ports で入れた時に依存関
> 係からインストールされたものだと思います。
> 
> gem コマンド実行時に指定していた pg_config の位置も間違っていたので、
> 
> gem install pg -v '0.13.2' --
> --with-pg_config=/vol1/usr/local/pgsql/bin/pg_config
> 
> このように正しい位置を指定したところ、
> 
> /vol1/usr/local/pgsql/lib
> /vol1/usr/local/pgsql/include
> 
> も gcc のオプションにセットされるようにはなったのですが、結果は同じ。
> つまり、先に
> 
> /vol1/usr/local/lib
> /vol1/usr/local/include
> 
> を参照して、古いバージョンのファイルを捕まえてしまっている・・・というこ
> となのでしょう・・・
> 
> 今度、/vol1/usr/local/pgsql 以下のファイルのシンボリックリンクを
> 
> /vol1/usr/local/lib
> /vol1/usr/local/include
> 
> の下に作ってチャレンジしてみます。
> 
> ご教示いただき、大変ありがとうございました。
> 
> -- 
> SHINODA Masanori <shinoda@netandfield.com>
> Net & Field Co.,Ltd. Internet Service Section
> Phone 082-231-0760  Fax 082-231-0776
> Portable... 090-6419-9919
> 


In This Thread