468,115 Members | 2,106 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,115 developers. It's quick & easy.

ctypes: loading .so file on Linux

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.
Aug 23 '08 #1
3 9539
On Aug 23, 2:33*pm, Paddy <paddy3...@googlemail.comwrote:
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.
Aug 27 '08 #2
On Aug 27, 12:03*am, Paddy <paddy3...@googlemail.comwrote:
On Aug 23, 2:33*pm, Paddy <paddy3...@googlemail.comwrote:
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")
Try 'open( "libucdb.so", "rb" )' to see if you're looking in the right
place.
Aug 27 '08 #3
On 27 Aug., 07:03, Paddy <paddy3...@googlemail.comwrote:
On Aug 23, 2:33*pm, Paddy <paddy3...@googlemail.comwrote:
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.
What is your current working directory and where is the lib located ?
Maybe the lib is not in your working directory.

If you want the lib accessed from anywhere, you have to copy it
to /usr/lib or /usr/local/lib.
Another possibility is setting LD_LIBRARY_PATH.

Greetings, Uwe
Aug 27 '08 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Thomas Heller | last post: by
19 posts views Thread by Thomas Heller | last post: by
9 posts views Thread by jtravs | last post: by
5 posts views Thread by SoutoJohn | last post: by
reply views Thread by Jorge Vargas | last post: by
reply views Thread by Martin (gzlist) | last post: by
4 posts views Thread by didacticone | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.