[Pythonmac-SIG] Using SWIG, C++, and OS X
Siddartha Krishnan
sidd.krish at gmail.com
Thu Jul 6 19:58:16 CEST 2006
Hi,
I'm new to using SWIG for python. I am having several problems
creating a C++ extension module for python. I am using OS X 10.4 with
python 2.4 and SWIG 1.3.29 (using darwinports).
I can use SWIG and distutils in order to make a C extension module
for python, however, I cannot do so for a C++ extension module - I
get an import error:
mie-15-203:~/swig/class_test siddarthakrishnan$ python mymod.py
Traceback (most recent call last):
File "mymod.py", line 5, in ?
import _mymod
ImportError: Failure linking new module: /Users/siddarthakrishnan/
SWIG/class_test/_mymod.so: Symbol not found: __ZN9SomeClassC1Eii
Referenced from: /Users/siddarthakrishnan/SWIG/class_test/_mymod.so
Expected in: dynamic lookup
The setup.py file is as follows:
# setup.py
from distutils.core import setup, Extension
setup (name = "_mymod",
version = "1.0",
maintainer = "Your Name",
maintainer_email = "your.name at domain.org",
description = "Sample Python C++ Extension",
ext_modules = [Extension('_mymod',
sources=['mymod_wrap.cxx'])])
Does anyone know how to create a setup.py file that works with c++
extension modules?
Also, I tried to compile a shared library manually, using:
ld -L/opt/local/lib -bundle -undefined suppress -flat_namespace -o
testmod.so testmod_wrap.o testmod.o
However, when I try to import the module, I get the following error:
>>> import testmod
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: Failure linking new module: testmod.so: Symbol not
found: dyld_stub_binding_helper
Referenced from: testmod.so
Expected in: flat namespace
This is for both C and C++ extension modules.
Can someone please help solve this problem?
Thanks,
Siddartha
More information about the Pythonmac-SIG
mailing list