ctypes can't find files in /usr/local/lib?

"Joshua J. Kugler" <[email protected]>
Newsgroups gmane.comp.python.ctypes
Organization Azariah Enterprises
Message-ID <[email protected]>
Long time Python use, new to ctypes (by way of a module I'm trying).

This is Ubuntu 9.04, Python 2.6

I have some libraries in /usr/local/lib.

ldconfig -p|grep libname:

libownet-2.7.so.38 (libc6) => /usr/local/lib/libownet-2.7.so.38
libowcapi-2.7.so.38 (libc6) => /usr/local/lib/libowcapi-2.7.so.38
libow-2.7.so.38 (libc6) => /usr/local/lib/libow-2.7.so.38

There is a libname.so symlink to each file.

verifies that the cache knows about them.

However, when I try to load them in ctypes, I get:

>>> ctypes.cdll.LoadLibrary ("libownet.so")
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/lib/python2.6/ctypes/__init__.py", line 431, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python2.6/ctypes/__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libownet.so: cannot open shared object file: No such file or
directory

This library loads just fine when I copy it all to /usr/lib, run 
ldconfig,
and then run the above LoadLibrary command:

/usr/local/lib# cp -av libow* /usr/lib
`libow-2.7.so.38' -> `/usr/lib/libow-2.7.so.38'
`libow-2.7.so.38.0.0' -> `/usr/lib/libow-2.7.so.38.0.0'
`libowcapi-2.7.so.38' -> `/usr/lib/libowcapi-2.7.so.38'
`libowcapi-2.7.so.38.0.0' -> `/usr/lib/libowcapi-2.7.so.38.0.0'
`libowcapi.la' -> `/usr/lib/libowcapi.la'
`libowcapi.so' -> `/usr/lib/libowcapi.so'
`libow.la' -> `/usr/lib/libow.la'
`libownet-2.7.so.38' -> `/usr/lib/libownet-2.7.so.38'
`libownet-2.7.so.38.0.0' -> `/usr/lib/libownet-2.7.so.38.0.0'
`libownet.la' -> `/usr/lib/libownet.la'
`libownet.so' -> `/usr/lib/libownet.so'
`libow.so' -> `/usr/lib/libow.so'

# ls -l /usr/lib/libow*
lrwxrwxrwx 1 root root      19 2010-09-16 
21:29 /usr/lib/libow-2.7.so.38 ->
libow-2.7.so.38.0.0
-rwxr-xr-x 1 root root 2927322 2010-07-08 
21:27 /usr/lib/libow-2.7.so.38.0.0
lrwxrwxrwx 1 root root      23 2010-09-16
21:29 /usr/lib/libowcapi-2.7.so.38 -> libowcapi-2.7.so.38.0.0
-rwxr-xr-x 1 root root   31314 2010-07-08
21:27 /usr/lib/libowcapi-2.7.so.38.0.0
-rwxr-xr-x 1 root root    1084 2010-07-08 21:27 /usr/lib/libowcapi.la
lrwxrwxrwx 1 root root      23 2010-09-16 21:29 /usr/lib/libowcapi.so ->
libowcapi-2.7.so.38.0.0
-rwxr-xr-x 1 root root     985 2010-07-08 21:27 /usr/lib/libow.la
lrwxrwxrwx 1 root root      22 2010-09-16
21:29 /usr/lib/libownet-2.7.so.38 -> libownet-2.7.so.38.0.0
-rwxr-xr-x 1 root root  131818 2010-07-08
21:27 /usr/lib/libownet-2.7.so.38.0.0
-rwxr-xr-x 1 root root     973 2010-07-08 21:27 /usr/lib/libownet.la
lrwxrwxrwx 1 root root      22 2010-09-16 21:29 /usr/lib/libownet.so ->
libownet-2.7.so.38.0.0
lrwxrwxrwx 1 root root      19 2010-09-16 21:29 /usr/lib/libow.so ->
libow-2.7.so.38.0.0

# ldconfig

>>> ctypes.cdll.LoadLibrary ("libowcapi.so")
<CDLL 'libowcapi.so', handle 9ddcc58 at 9e1386c>

Another data point, if I do a symlink:

/usr/lib/libowcapi.so -> /usr/local/lib/libowcapi.so

And run ldconfig, I can then load it with ctypes.

Oh, and an strace of the python process shows that it never tries 
anything in /usr/local/lib.

Any ideas?

j

-- 
Joshua J. Kugler - Fairbanks, Alaska
Azariah Enterprises - Programming and Website Design
[email protected] - Jabber: [email protected]
PGP Key: http://pgp.mit.edu/  ID 0x73B13B6A

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.