恥ずかしながら、今までずっとLD_LIBRARY_PATHだけで設定しておりました...汗
Solaris でPostgreSQLのインストールをしておりまして。
configureがなんかうまくいかんなぁと思い見てみると、中でテストプログラムを生成してコンパイルしてたらしい。で、そのコンパイルしたバイナリがreadlineのライブラリを探せなかった模様。
じゃあLD_LIBRARY_PATHで...と思いはたと気づく。起動するときいちいちオマエはLD_LIBRARY_PATHを設定するのかと。
というわけで、
env LDFLAGS="-L/usr/local/lib -R/usr/local/lib" ./configure
とかするらしいです。
- -L:コンパイルする際参照する
- -R:バイナリに埋めこむ
だそうで...
そもそも「その binary が使用する library」というのは,その binary 固有の 情報であり,ユーザ単位 (LD_LIBRARY_PATH) やホスト単位 (crle) で設定すべきではないと考えます。
うわぁ...あいたたた...orz