C Embedding problem, ImportError

  • Thread starter Tero Pihlajakoski
  • Start date
T

Tero Pihlajakoski

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

Thanks,

- Tero
 
M

Mark Hammond

Tero said:
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.
 
A

Anand K Rayudu

hi Tero,

I also faced similar kind of problem on HP & IBM workstations.
This is how i solved.

run python outside & do following.
It gives out the link options required for that platform, just
re-compile your application with those options.

more information you can find out in python documentation chapter


5.6 Linking Requirements

in my downloaded documentation it is at ~/python-docs-2.3/ext/link-reqs.html
'-Xlinker -export-dynamic'

Hope this helps!! :)

Anand
 

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
474,176
Messages
2,570,950
Members
47,503
Latest member
supremedee

Latest Threads

Top