Bullet 2.78 undefined reference error due to double precisio

roks
Posts: 3
Joined: Mon May 16, 2011 2:20 am

Bullet 2.78 undefined reference error due to double precisio

Post by roks »

Hi I have installed bullet-2.78 on fedora 14. Now I am trying to install gazebo. However, it keeps giving me the following error:

[ 93%] Building CXX object server/CMakeFiles/gazebo-exec.dir/main.o
Linking CXX executable gazebo
physics/bullet/libgazebo_physics_bullet.so: undefined reference to `btAngularLimit::set(double, double, double, double, double)'
physics/bullet/libgazebo_physics_bullet.so: undefined reference to `btStaticPlaneShape::btStaticPlaneShape(btVector3 const&, double)'
physics/bullet/libgazebo_physics_bullet.so: undefined reference to `btRigidBody::setMassProps(double, btVector3 const&)'
physics/bullet/libgazebo_physics_bullet.so: undefined reference to `btRigidBody::setDamping(double, double)'
collect2: ld returned 1 exit status
make[2]: *** [server/gazebo] Error 1
make[1]: *** [server/CMakeFiles/gazebo-exec.dir/all] Error 2


Any help would be much appreciated
Laura
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Bullet 2.78 undefined reference error due to double prec

Post by Erwin Coumans »

'installing' Bullet system wide is not supported (although there are options to do it), you better simply add the Bullet sources to a project and use the same build system. This way, you avoid problems that Bullet is compiled with different settings than the project.

Thanks,
Erwin
roks
Posts: 3
Joined: Mon May 16, 2011 2:20 am

Re: Bullet 2.78 undefined reference error due to double prec

Post by roks »

Hi Erwin
Thanks for the reply. I am new to linux.
Is there any link that shows how to add bullet source to gazebo and build the gazebo?

~Laura
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Bullet 2.78 undefined reference error due to double prec

Post by Erwin Coumans »

I'm not familiar with gazebo. It is best to ask the gazebo developers (who integrated Bullet) to help sorting out this issue.

Thanks!
Erwin
roks
Posts: 3
Joined: Mon May 16, 2011 2:20 am

Re: Bullet 2.78 undefined reference error due to double prec

Post by roks »

I have solved the problem. I am using Fedora 14 and was trying to install gazebo 0.10.0.

Change the CMakeList.txt in bullet-2.78
16 OPTION(USE_DOUBLE_PRECISION "Use double precision" ON)
207 OPTION(INSTALL_LIBS "Set when you want to install libraries" ON)

Then install bullet using the following commands
# cmake -DBUILD_SHARED_LIBS=ON -DBUILD_EXTRAS=OFF -DBUILD_DEMOS=OFF -DGULT_INCLUDE_DIR=Gult -DBT_USE_DOUBLE_PRECISION=ON
# make
# make install
# ldconfig

For more detail check http://sourceforge.net/apps/mediawiki/a ... =Main_Page

To check the btStaticPlaneShape, use the command:
# nm --dynamic --demangle /usr/local/lib/libBulletCollision.so|grep "btStaticPlaneShape("
It should show now double.

000b0200 T btStaticPlaneShape::btStaticPlaneShape(btVector3 const&, double)
000b0200 T btStaticPlaneShape::btStaticPlaneShape(btVector3 const&, double)
000b02fe T btStaticPlaneShape::~btStaticPlaneShape()
000b02b6 T btStaticPlaneShape::~btStaticPlaneShape()
000b02b6 T btStaticPlaneShape::~btStaticPlaneShape()