Traceback importing ogre.physics.OgreBulletD on Linux

19 views
Skip to first unread message

Jeremy Sandell

unread,
Jul 18, 2010, 1:20:52 PM7/18/10
to Python Ogre Developers
Hi all,

I've managed to compile python-ogre using the BuildModule.py script
from trunk (svn revision 1126), on Linux (Ubuntu 10.04), have compiled
bullet 2.76, ogrebulletc, and ogrebulletd, however when I go to run
the demo for ogrebullet, I receive this error:

jeremy@atom:~/development/python-ogre/demos/ogrebullet$ python
Demo_OgreCollision01.py
Traceback (most recent call last):
File "Demo_OgreCollision01.py", line 14, in <module>
import ogre.physics.OgreBulletD as bulletD
File "/home/jeremy/development/root/usr/lib/python2.6/site-packages/
ogre/physics/OgreBulletD/__init__.py", line 1, in <module>
from _ogrebulletd_ import *
ImportError: /home/jeremy/development/root/usr/lib/python2.6/site-
packages/ogre/physics/OgreBulletD/_ogrebulletd_.so: undefined symbol:
_ZN25btSimulationIslandManagerC1Ev
jeremy@atom:~/development/python-ogre/demos/ogrebullet$

Any hints or ideas as to what I might do to resolve this?

Thanks!
Jeremy Sandell

dermont

unread,
Jul 19, 2010, 8:09:26 AM7/19/10
to Python Ogre Developers
a) Try commenting out the exclude for btSimulationIslandManager in
code_generators/ogrebulletd/generate_code.py

#if environment.isLinux():
# excludes.append('::btSimulationIslandManager')

b) remove ogrebulletd from cache i.e. code_generators/cache/
ogrebulletd_r2684_cache.xml

c) re-generate the wrapper code for ogrebulletd/compile and install
(using build commands from whatever build version you are following),
e.g:
>> python python-ogre/BuildModule.py -g -c ogrebulletd --usesystem
>> python python-ogre/BuildModule.py -b install --usesystem

Jeremy Sandell

unread,
Jul 19, 2010, 10:58:14 PM7/19/10
to python-ogre...@googlegroups.com
Thanks for the reply! I've tried this a few times, unfortunately with no luck, as I'm getting the same error. I was able to get the linker command line via ps the last time, which I've attached as ogrebulletd.txt. I've attached development/bullet-2.76/src/BulletCollision/CMakeFiles/BulletCollision.dir/link.txt, if that helps.

Also, I don't know if this makes a difference, but I don't see any bullet dll's (just static libraries) in root/usr/lib/, and only one in bullet-2.76/.

(python-ogre)jeremy@atom:~/development$ ls root/usr/lib/libBullet*
root/usr/lib/libBulletCollision.a  root/usr/lib/libBulletFileLoader.a     root/usr/lib/libBulletSoftBody.a
root/usr/lib/libBulletDynamics.a   root/usr/lib/libBulletMultiThreaded.a  root/usr/lib/libBulletWorldImporter.a  

(python-ogre)jeremy@atom:~/development$ find bullet-2.76/ -iname '*.so'
bullet-2.76/Extras/CDTestFramework/AntTweakBar/lib/libAntTweakBar.so

Again, thanks for the help!
Jeremy Sandell

--
You received this message because you are subscribed to the Google Groups "Python Ogre Developers" group.
To post to this group, send email to python-ogre...@googlegroups.com.
To unsubscribe from this group, send email to python-ogre-devel...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/python-ogre-developers?hl=en.


ogrebulletd.txt
link.txt

dermont

unread,
Jul 20, 2010, 11:37:31 AM7/20/10
to Python Ogre Developers
Sorry my bad, from your attachments the default build for bullet is
static libs (I'm building using shared libs).

I think your problem should be resolved by swapping the link order of
the bullet libs (BulletCollision/BulletDynamics) in environment.py,
e.g:

class ogrebulletd(pymodule):

#libs = [boost.lib, 'OgreMain',
# 'libBulletCollision', 'libBulletDynamics',
'libBulletSoftBody',
# 'libBulletMultiThreaded', 'libConvexDecomposition'
# ]

libs = [boost.lib, 'OgreMain',
'libBulletDynamics', 'libBulletCollision',
'libBulletSoftBody',
'libBulletMultiThreaded', 'libConvexDecomposition'
]

On Jul 20, 10:58 am, Jeremy Sandell <jlsand...@gmail.com> wrote:
> Thanks for the reply! I've tried this a few times, unfortunately with no
> luck, as I'm getting the same error. I was able to get the linker command
> line via ps the last time, which I've attached as ogrebulletd.txt. I've
> attached development/bullet-2.76/src/BulletCollision/CMakeFiles/BulletCollision.dir/link.txt,
> if that helps.
>
> Also, I don't know if this makes a difference, but I don't see any bullet
> dll's (just static libraries) in root/usr/lib/, and only one in
> bullet-2.76/.
>
> (python-ogre)jeremy@atom:~/development$ ls root/usr/lib/libBullet*
> root/usr/lib/libBulletCollision.a  root/usr/lib/libBulletFileLoader.a
> root/usr/lib/libBulletSoftBody.a
> root/usr/lib/libBulletDynamics.a   root/usr/lib/libBulletMultiThreaded.a
>  root/usr/lib/libBulletWorldImporter.a
>
> (python-ogre)jeremy@atom:~/development$ find bullet-2.76/ -iname '*.so'
> bullet-2.76/Extras/CDTestFramework/AntTweakBar/lib/libAntTweakBar.so
>
> Again, thanks for the help!
> Jeremy Sandell
>
> > python-ogre-devel...@googlegroups.com<python-ogre-developers%2Bunsu...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/python-ogre-developers?hl=en.
>
>
>
>  ogrebulletd.txt
> 4KViewDownload
>
>  link.txt
> 8KViewDownload

Jeremy Sandell

unread,
Jul 20, 2010, 4:59:37 PM7/20/10
to python-ogre...@googlegroups.com
You are awesome, it worked.  I had to remove some stray sys.exit calls from Demo_OgreCollision01.py, but other than that, it's working fine.

Thanks!
Jeremy Sandell

To unsubscribe from this group, send email to python-ogre-devel...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages