C Embedding problem, ImportError

Mark Hammond mhammond at skippinet.com.au
Wed Feb 4 02:43:35 EST 2004


Tero Pihlajakoski wrote:
> I'm trying to run some python scripts from a proggy of mine. Most of the
> time it works great, but I seem to be having problems with some
> modules. Here's what I get when I try importing math (applies to all
> .../lib-dynload/ modules, I guess):
> 
> ImportError: /usr/lib/python2.3/lib-dynload/math.so: undefined
> symbol: PyExc_OverflowError
> 
> Executing the same script from command-line works ok. What gives?
> I'm using python 2.3.2, and the file using the python/c is compiled
> invoking: 
> 
> gcc -o libabc.lib -shared -fpic lpython2.3 -lm abc.c
> 

I keep having this issue too, but am far from a Linux guru.  I *think* 
last time I solved it, it required an explicit dlopen() with RTLD_GLOBAL 
for libpythonxx.so.  This was required to map the symbols globally, so 
other extensions could use it (even though the main program itself does 
not need the dlopen().

If you find a better answer, please let me know :)

Mark.




More information about the Python-list mailing list