[#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:48768] Re: gem install pg で、PQconnectionUsedPassword チェックが no となる

From: SHINODA Masanori <shinoda@...>
Date: 2012-05-16 14:41:07 UTC
List: ruby-list #48768
篠田です。

__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 <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