Undefined Symbols while importing modules

sudharsh at gmail.com sudharsh at gmail.com
Tue Dec 4 14:06:01 EST 2007


Hi all,
I have been learning to write Python extension modules, and am quite
at a loss over a small glitch thats taking place. When I import my
module I get the following exception

>>> import pygsmd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/site-packages/pygsmd/__init__.py", line 9,
in <module>
    import _pygsmd, network, voicecall, sms, phonebook
ImportError: /usr/lib/python2.5/site-packages/pygsmd/network.so:
undefined symbol: pygsmd_handler

But the pygsmd_handler  function is defined in the source file that
produces _pygsmd.so. Also as you can see _pygsmd in imported first in
my __init__.py. Of course following the usual C rules, pygsmd_handler
is declared extern in a header that the other sources include. Is
there a way I could bring pygsmd_handler function in a more common
namespace?, so that other modules may use them. It seems that using
the build_clib feature creates only static libraries. Is there a way I
can create dynamic ones using distutils?

Thanks for the hints

Regards
Sudharshan S



More information about the Python-list mailing list