Hi, I know this is a pretty simple question but I've spent a while on this and can't see whats wrong. I'm trying to access a shared library which I've created called Simulation.so, its created as such (snip from makefile):
all: simulation simulation: Simulation.so Simulation.so: Simulation.o Statistics.o gcc -shared Simulation.o Statistics.o -L/usr/local/lib -lsbml -lstdc++ -lm -o Simulation.so Statistics.o: Statistics.c Statistics.h gcc -fpic -g -O2 -I/usr/include -c Statistics.c Simulation.o: Simulation.c gcc -fpic -g -O2 -I/usr/include -c Simulation.c and I can load it properly in python import ctypes t = ctypes.CDLL('./Simulation.so') this works fine, I have a simple function I ve put in for testing which just returns the integer 4. However when I try to access this function it doesnt work t.test() File "<stdin>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ctypes/__init__.py", line 325, in __getattr__ func = self.__getitem__(name) File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ctypes/__init__.py", line 330, in __getitem__ func = self._FuncPtr((name_or_ordinal, self)) AttributeError: dlsym(0x81e6b0, test): symbol not found I've tried using t.__getattr__("test") but still have the same exception, I've tried loading the library with mode = RTLD_GLOBAL aswell and still have no luck. As far I as I can see this should work? But as I am just starting with ctypes I am sure I doing something sorry very stupid. Any pointers would be greatly appreciated, Many thanks in advance, Nathan Im hoping python-list is ok for questions regarding ctypes :S
-- http://mail.python.org/mailman/listinfo/python-list