New to Bullet

RaulHuertas
Posts: 6
Joined: Fri Jun 15, 2007 3:27 am

New to Bullet

Post by RaulHuertas »

Hello!

I'm entering to the physics simulation world. I work with Linux. I've just tried NVDIDA phys, and I get disappointed by the lots of errors on Linux:S.

Well so I'll use bullet. Like I always do I tried to recompile one demo application manually('BasicDemo' in this case) just to know how to link everything all the stuff. Well, I've appended the libraries:

- BulletDynamics
- BulletCollision
- LinearMath
- OpenGLSupport
- BulletSoftBody
- GLee
- glut

and I have this error:

Code: Select all

g++ -m32    -o dist/Release/GNU-Linux-x86/probandobullet build/Release/GNU-Linux-x86/BasicDemo.o build/Release/GNU-Linux-x86/main.o -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/src/BulletDynamics -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/src/BulletCollision -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/src/LinearMath -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL -L/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/src/BulletSoftBody -lLibBulletDynamics -lLibBulletCollision -lLibLinearMath -lLibOpenGLSupport -lLibBulletSoftBody -lGLee -lglut 
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(DemoApplication.o): In function `DemoApplication::mouseFunc(int, int, int, int)':
DemoApplication.cpp:(.text+0x268b): undefined reference to `btPoint2PointConstraint::btPoint2PointConstraint(btRigidBody&, btVector3 const&)'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::~GL_ShapeDrawer()':
GL_ShapeDrawer.cpp:(.text+0x3f1): undefined reference to `btShapeHull::~btShapeHull()'
GL_ShapeDrawer.cpp:(.text+0x4e8): undefined reference to `btShapeHull::~btShapeHull()'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::cache(btConvexShape*)':
GL_ShapeDrawer.cpp:(.text+0x593): undefined reference to `btShapeHull::btShapeHull(btConvexShape const*)'
GL_ShapeDrawer.cpp:(.text+0x5cc): undefined reference to `btShapeHull::buildHull(float)'
GL_ShapeDrawer.cpp:(.text+0x60c): undefined reference to `btShapeHull::numIndices() const'
GL_ShapeDrawer.cpp:(.text+0x61d): undefined reference to `btShapeHull::numVertices() const'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::drawOpenGL(float*, btCollisionShape const*, btVector3 const&, int, btVector3 const&, btVector3 const&)':
GL_ShapeDrawer.cpp:(.text+0x1427): undefined reference to `btShapeHull::numTriangles() const'
GL_ShapeDrawer.cpp:(.text+0x1456): undefined reference to `btShapeHull::numTriangles() const'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::~GL_ShapeDrawer()':
GL_ShapeDrawer.cpp:(.text+0x1e71): undefined reference to `btShapeHull::~btShapeHull()'
GL_ShapeDrawer.cpp:(.text+0x1f68): undefined reference to `btShapeHull::~btShapeHull()'
/home/raulhuertas/Documentos/Instaladores/BULLET-SDK/bullet-2.71/Demos/OpenGL/libLibOpenGLSupport.a(GL_ShapeDrawer.o): In function `GL_ShapeDrawer::~GL_ShapeDrawer()':
GL_ShapeDrawer.cpp:(.text+0x2006): undefined reference to `btShapeHull::~btShapeHull()'
GL_ShapeDrawer.cpp:(.text+0x20e8): undefined reference to `btShapeHull::~btShapeHull()'
collect2: ld devolvió el estado de salida 1
make[2]: *** [dist/Release/GNU-Linux-x86/probandobullet] Error 1
make[2]: se sale del directorio `/home/raulhuertas/Documentos/Proyectos/ProbandoBullet'
make[1]: *** [.build-conf] Error 2
make[1]: se sale del directorio `/home/raulhuertas/Documentos/Proyectos/ProbandoBullet'
make: *** [.build-impl] Error 2

Build failed. Exit value 2.



Please some one can help me. I've compiled bullet in my PC. An observation: in the 'lib' directory nothing is placed, I'm linking with static libs in the src/ directory. I used CMake for the build step.
RaulHuertas
Posts: 6
Joined: Fri Jun 15, 2007 3:27 am

no one?

Post by RaulHuertas »

please help? are there any flags for compiling bullet correctly? :?
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: New to Bullet

Post by Erwin Coumans »

Cmake (and ./autogen.sh, ./configure, make) should compile all demos out-of-the-box, can you confirm this?

If you create your own project, make sure to use the right link order:

-lLibOpenGLSupport -lLibBulletSoftBody -lLibBulletDynamics -lLibBulletCollision -lLibLinearMath

hope this helps,
Erwin
RaulHuertas
Posts: 6
Joined: Fri Jun 15, 2007 3:27 am

Re: New to Bullet

Post by RaulHuertas »

Men you are my hero! :P

Physx works ugly-ly in Linux. If if it were not for bullet I would shoot my self. Well, I did not know that the libs order was so important. IS this bullet specific or C++/GCC especific?

Thanks! :o