pyode build on Ubuntu 8.04

Help
2010-02-07
2013-05-14
  • hello,

    For some reason the Ubuntu 8.04 install package gives a segmentation fault when using to use a trimesh. I tried installing from a source package on the downloads page. When I call triMesh.getTriangle() in python it gives the following error:

    python: /build/buildd/ode-0.9.dfsg/GIMPACT/src/gim_trimesh.cpp:183: void gim_trimesh_locks_work_data(GIM_TRIMESH*): Assertion `res==0' failed.
    Aborted

    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.

    Thanks,
    Chris