ctypes: loading .so file on Linux

Paddy paddy3118 at googlemail.com
Wed Aug 27 07:03:23 CEST 2008


On Aug 23, 2:33 pm, Paddy <paddy3... at googlemail.com> wrote:
> Hi,
> I am am falling at the first hurdle when trying to access a library
> using ctypes.
>
> I have a file libucdb.so which the file command says is shared object,
> but I cannot get it to load:
>
> Any help would be appreciated:
>
> dmccarthy: file /opt/questasim_6.4/questasim/linux/libucdb.a /opt/
> questasim_=
> 6.4/questasim/linux/libucdb.so
> /opt/questasim_6.4/questasim/linux/libucdb.a:  current ar archive
> /opt/questasim_6.4/questasim/linux/libucdb.so: ELF 32-bit LSB shared
> object,=
>  Intel 80386, version 1 (SYSV), not stripped
> dmccarthy: python
> ActivePython 2.5.1.1 (ActiveState Software Inc.) based on
> Python 2.5.1 (r251:54863, May  2 2007, 08:46:07)
> [GCC 3.3.4 (pre 3.3.5 20040809)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.>>> cdll.LoadLibrary("libc.so.6")
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> NameError: name 'cdll' is not defined>>> from ctypes import *
> >>> ^[[A^[[A
>
>     ^e "<stdin>", line 1
> SyntaxError: invalid syntax>>> cdll.LoadLibrary("libc.so.6")
>
> <CDLL 'libc.so.6', handle 2a958a2900 at 2a95dda490>>>> cdll.LoadLibrary("libucdb.so")
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/software/unix-soft/linux/ActivePython-2.5.1.1-linux-x86_64/
> lib/pyth=
> on2.5/ctypes/__init__.py", line 423, in LoadLibrary
>     return self._dlltype(name)
>   File "/software/unix-soft/linux/ActivePython-2.5.1.1-linux-x86_64/
> lib/pyth=
> on2.5/ctypes/__init__.py", line 340, in __init__
>     self._handle =3D _dlopen(self._name, mode)
> OSError: libucdb.so: cannot open shared object file: No such file or
> directo=
> ry>>> cdll.LoadLibrary("libc.so.6")
>
> <CDLL 'libc.so.6', handle 2a958a2900 at 2a95df3ad0>>>> libc =3D CDLL("libc.so.6")
> >>> libc
>
> <CDLL 'libc.so.6', handle 2a958a2900 at 2a95dda490>>>> libc =3D CDLL("libucdb.so")
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/software/unix-soft/linux/ActivePython-2.5.1.1-linux-x86_64/
> lib/pyth=
> on2.5/ctypes/__init__.py", line 340, in __init__
>     self._handle =3D _dlopen(self._name, mode)
> OSError: libucdb.so: cannot open shared object file: No such file or
> directo=
> ry>>> libc =3D CDLL("/opt/questasim_6.4/questasim/linux/libucdb.so")
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/software/unix-soft/linux/ActivePython-2.5.1.1-linux-x86_64/
> lib/pyth=
> on2.5/ctypes/__init__.py", line 340, in __init__
>     self._handle =3D _dlopen(self._name, mode)
> OSError: /opt/questasim_6.4/questasim/linux/libucdb.so: cannot open
> shared o=
> bject file: No such file or directory>>> ^[[A
>
>   File "<stdin>", line 1
>     ^
> SyntaxError: invalid syntax
>
>
>
> - Paddy.

Any help would be appreciated.

Thanks.



More information about the Python-list mailing list