From: Ethan Glasser-C. <gl...@cs...> - 2010-02-11 02:04:53
|
Christopher Flesher wrote: > So I decided to try building the wrapper from the latest CVS source. > Here is the output from setup.py. It seems to build fine despite a > couple of warnings. > > INFO: <ode/ode.h> found in /usr/include > INFO: ode_trimesh.c is up to date > INFO: ode_notrimesh.c is up to date > INFO: Installing with trimesh support. > running build > running build_py > creating build > creating build/lib.linux-i686-2.5 > creating build/lib.linux-i686-2.5/xode > copying xode/__init__.py -> build/lib.linux-i686-2.5/xode > copying xode/body.py -> build/lib.linux-i686-2.5/xode > copying xode/geom.py -> build/lib.linux-i686-2.5/xode > copying xode/transform.py -> build/lib.linux-i686-2.5/xode > copying xode/parser.py -> build/lib.linux-i686-2.5/xode > copying xode/node.py -> build/lib.linux-i686-2.5/xode > copying xode/joint.py -> build/lib.linux-i686-2.5/xode > copying xode/errors.py -> build/lib.linux-i686-2.5/xode > running build_ext > building 'ode' extension > creating build/temp.linux-i686-2.5 > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -I/usr/include -I/usr/local/include > -I/opt/local/include -I/usr/include/python2.5 -c ode_trimesh.c -o > build/temp.linux-i686-2.5/ode_trimesh.o -I/usr/include > ode_trimesh.c: In function ‘__pyx_f_3ode_5World_setLinearDamping’: > ode_trimesh.c:2949: warning: implicit declaration of function > ‘dWorldSetLinearDamping’ > ode_trimesh.c: In function ‘__pyx_f_3ode_5World_getLinearDamping’: > ode_trimesh.c:2970: warning: implicit declaration of function > ‘dWorldGetLinearDamping’ > ode_trimesh.c: In function ‘__pyx_f_3ode_5World_setAngularDamping’: > ode_trimesh.c:2997: warning: implicit declaration of function > ‘dWorldSetAngularDamping’ > ode_trimesh.c: In function ‘__pyx_f_3ode_5World_getAngularDamping’: > ode_trimesh.c:3018: warning: implicit declaration of function > ‘dWorldGetAngularDamping’ > gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions > build/temp.linux-i686-2.5/ode_trimesh.o -L/usr/local/lib > -L/opt/local/lib -lode -lstdc++ -o build/lib.linux-i686-2.5/ode.so > -L/usr/lib -lode > > However when I import the file in python it gives the following error: >>>> import ode > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > ImportError: /usr/lib/python2.5/site-packages/ode.so: undefined > symbol: dWorldGetLinearDamping > > Any ideas on where to begin? My simulation seems to work in Windows XP > without any problems but I really need to get it working in Linux. Hey, sorry, I saw this bug but didn't find the time to respond. It looks like the warnings are related. You're building on Ubuntu, right? What version of the libode-dev package are you running? If you update the wrapper, you'll probably need to update the library it wraps too. (In a pinch, if you don't use those functions, you can probably modify the code to take out these calls from declarations.pyx and the methods that use them from world.pyx.) Ethan |