2007年10月17日

Linux, Python | 共有ライブラリの認識

共有ライブラリをシステムに認識させるには

Linux上で、PostgreSQL + psycopg2 + Django on Apache with mod_python な環境で次のようなエラーが起こっていたら、Apacheの実行ユーザがPostgreSQLのライブラリを認識できていないということが原因。

Error loading psycopg2 module: libpq.so.5: cannot open shared object file: No such file or directory
/etc/ld.so.conf に /usr/local/pgsql/lib を加えて、ldconfig コマンドを実行してシステムにPostgreSQLのライブラリを認識させればOK。

前もこの問題にはまったのに、記憶力が悪いせいでまたはまってしまったのでメモしておく。

Posted by otsuka : 19:41 | Comment (2) | Trackback (0)
Comment

/usr/local配下のライブラリならばLD_LIBRARY_PATH環境変数で追加した方が、他に影響しないのでいい気がします。結構どうでもいいですが。

Posted by: jbking : 2007年10月18日 05:33

最初にLD_LIBRARY_PATH環境変数を設定してみたのですが、ダメだったんですよね。よく分からないんですが、Apacheをnobodyユーザで動かしてるからかな?

一般ユーザがLD_LIBRARY_PATH環境変数を設定して、Pythonスクリプトからpsycopg2を使う分には問題ありませんでした。

Posted by: otsuka : 2007年10月18日 14:54









名前、アドレスを登録しますか?