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。
前もこの問題にはまったのに、記憶力が悪いせいでまたはまってしまったのでメモしておく。
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