Where does Python look for libraries?

A

ACB

I have been trying to get the gdmodule installed and have run into an issue.
When I import gd I get the following error.
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/local/lib/python2.3/site-packages/gd.py", line 10, in ?
import _gd
ImportError: /usr/local/lib/libgd.so.2: Undefined symbol "libiconv_open"

But, when I run
nm libiconv.so
in the directory with the iconv library I get an entry like this
00011fe0 T libiconv_open

so I know the functionality is there. So, my question. Does python have a
way to add search directories for locating libraries?

Thanks.
 
J

Jesus Rivero - (Neurogeek)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Python has sys.path
If you want to add dirs into your PYTHONPATH add them to sys.path


Jesus Rivero - (Neurogeek)
I have been trying to get the gdmodule installed and have run into
an issue. When I import gd I get the following error.


Traceback (most recent call last): File "<stdin>", line 1, in ?
File "/usr/local/lib/python2.3/site-packages/gd.py", line 10, in ?
import _gd ImportError: /usr/local/lib/libgd.so.2: Undefined symbol
"libiconv_open"

But, when I run nm libiconv.so in the directory with the iconv
library I get an entry like this 00011fe0 T libiconv_open

so I know the functionality is there. So, my question. Does
python have a way to add search directories for locating libraries?


Thanks.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFEKFHNdIssYB9vBoMRAli3AJ9dFHXpXnrKCWiiSZZhuedKvZnQXgCeLeQF
QbRIUt2RC//D+RMrWFsg8lY=
=S8Ke
-----END PGP SIGNATURE-----
 
R

Robert Kern

Jesus said:
Python has sys.path
If you want to add dirs into your PYTHONPATH add them to sys.path

The OP seems to be asking about C libraries dynamically linked to extension
modules, not Python libraries.

No. You will have to read your OS's documentation on how to make sure
libiconv.so is in a location your dynamic linker will look for shared libraries.
If you are on Linux, then probably

$ man ld.so

will tell you the appropriate information.

--
Robert Kern
(e-mail address removed)

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,189
Latest member
CryptoTaxSoftware

Latest Threads

Top