[PHP-users 26254] Re: PHP-4.4.0で configuRe: error
Yasuo Ohgaki
yohgaki @ ohgaki.net
2005年 7月 21日 (木) 10:35:00 JST
大垣です。
T.Sasaki wrote:
>>pg_configのサポートが入った時には古いpostgresqlではビルドできない
>>状態でしたが、今のconfig.m4ならビルドできると思います。
>>
>>--with-pgsql=/your/path/to/pgsql
>>
>>を設定すればビルドできると思いますがどうでしょう?
>
>
> なるほど。
> --with-pgsql だけだと libpq-fe.h と libpq.a + so を
> 探すベースパスが
> /usr, /usr/local, /usr/local/pgsql
> になるみたいです。
>
> --with-pgsql=[path]
> だと [path] 以下を探しに行くようです。
>
> 失礼しました。m(__)m
>
> 尚、上記パス中に pg_config が存在すると
> そちらを優先するみたいなので、pg_config が存在しない
> バージョンの PostgreSQL を扱う場合は注意が必要ですね。
> ソースからビルドしているなら大抵 --prefix を指定しますけど、
> パッケージからのインストールだと /usr 以下に作成されてややこしくなりそう・・・。
pg_configのチェックを先にしているのでこれがbinディレクトリにあると
利用されます。しかし、--with-pgsql=/path/to/pgsqlを使った場合には
/path/to/pgsql/pg_config
/path/to/pgsql/bin/pg_config
をチェックするのでpg_configがあるPostgreSQLの場合は任意のバージョン
とリンクできます。その後、他のbinディレクトリ(/usr/local/pgsql/bin,
/usr/local/bin, /usr/bin の順序)を検索します。ここにpg_configスクリ
プトがある場合はpg_configが使用されます。
その後、libpq-fe.hとlibpq.soの場所を
/usr/local/pgsql /usr/local /usr
の優先順位でチェックします。
# 古いスタイルのチェックはbreakしていないのでconfig.m4の
# 並び順と優先順位は逆。
新しいPostgreSQLと古いPostgreSQL、両方インストールしていてどうしても
古いPostgreSQLを使いたい場合、4.3.11のconfig.m4をコピーして使ってくだ
さい。もしくは新しいPostgreSQLをインストールしないで下さい。ビルド中
にpg_configにアクセスできないようにするだけでもOKです。
古いスタイルのチェックと新しいスタイルのチェック、どちらを優先するか
という問題です。当然ですが新しいスタイルのチェックを優先すべきと考え
られるので、修正できないですね。
# 古いスタイルのチェックの為に新しいconfigureオプションを付けるのも
# あまり合理的とは思えません。
--
Yasuo Ohgaki
PHP-users メーリングリストの案内