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