On 23 July 2012 00:43, Vivek Tawde <
vivek...@gmail.com> wrote:
> Hi,
> I am trying to import pysopg2 module within wsgi script in embedded mode.
> The script throws an exception in the httpd log:
> File "/usr/local/lib/python2.6/site-packages/psycopg2/__init__.py", line 67,
> in <module>
> from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
> ImportError: libpq.so.5: cannot open shared object file: No such file or
> directory
>
> I checked the permissions on the on the postgres library path and it seems
> correct. Any clues about this issue?
Presuming they are actually installed, sounds like your PostgreSQL
libraries are installed in a non standard location.
Were you relying on a LD_LIBRARY_PATH environment variable in your
user environment to find the libraries? This will not be picked up by
Apache.
If your PostgreSQL libraries are installed in a non standard location
and you can't have them installed in a directory on standard system
library search path, then when building the Python client module for
PostgreSQL, set LD_RUN_PATH temporarily to include the directory where
the libraries will be installed. That way the directory will embedded
in the psycopg2 extension module and will automatically know where to
get libraries from at run time without needing LD_LIBRARY_PATH.
So, where is libpq.so installed?
Graham