ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Symbol lookup error: libgeometry_shape.so: undefined symbol: _ZN6Assimp8Importer18SetPropertyIntegerEPKciPb

asked 2017-07-13 13:12:40 -0500

boooooosh gravatar image

System Ubuntu 14.04 with ROS Indigo (updated to the latest already)

This problem confuses me for days. So every time I start the move_group or the rviz this error occurs, I then checked the library in the /opt/ros/indigo/lib and dumped the strings in file libgeometry_shapes.so and found that the undefined symbol is actually in there.

I have another Ubuntu 14.04 with Indigo and the move_group is working fine, I am not quite sure why it's not happy with the libgeometry_shapes.so, the only thing I have done to this Ubuntu is that I used the nvidia-375 driver for the graphic card in order to use cuda for the KinectV2, can this possibly be the cause?

Many thanks!

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2017-07-13 17:00:40 -0500

boooooosh gravatar image

This is not exactly an answer, but I figured out why. ROS moveit uses a dynamic library called assimp, but only works with assimp v3.0, not assimpv3.2, that is where goes wrong, I think. Anybody facing the same problem or do anyone how to manually link to another library?

edit flag offensive delete link more

Comments

1

Why did you install assimpv3.2 on ubuntu 14.04? Most likely they broke ABI. So you have to recompile libraries in /opt/ros/ that use assimp to use the new version. Otherwise problems are to be expected.

v4hn gravatar image v4hn  ( 2017-07-17 04:54:39 -0500 )edit

That's true, I cover the assimp 3.2 with assimp 3.0 and the problem is fixed. The reason why I have a assimp 3.2 is probably because I installed cuda or changed to Nvidia graphic card and the library is automatically installed.

boooooosh gravatar image boooooosh  ( 2017-07-17 12:08:17 -0500 )edit
0

answered 2017-09-11 01:37:29 -0500

yashu gravatar image

I got below error

/opt/ros/indigo/lib/libgeometric_shapes.so: undefined reference to `Assimp::Importer::SetPropertyInteger(char const, int, bool)'

I follow solution provided by https://answers.ros.org/question/2694.. .

Above works fine and solve my problem. Here I just put above mentioned method in more details.

uninstall python-pyassimp, assimp-dev and ros-* as below

sudo apt-get remove --auto-remove python-pyassimp sudo apt-get -f purge assimp-dev sudo apt-get remove ros-*

Install below packages sudo apt-get install synaptic sudo apt-get install python-pyassimp sudo apt-get install libassimp-dev sudo apt-get install libassimp-doc sudo apt-get update

Then open synaptic package manager. You can check package->lock option which is disable. Then check status menu where you can see options like Installed, Installed (manual).

Here you can find package name python-pyassimp,assimp-dev,libassimp-doc and libassimp-dev. first select these packages and then go to Package->lock option to block the above mentione packages. You can then check all block packages in Pinned option.!

Then install ros and your problem will be solve.

edit flag offensive delete link more

Comments

I was able to fix this without removing ROS by using dpkg -r --force-depends assimp-* to remove the problem packages, removing Cuda, then running apt-get install -f to reinstall assimp.

rmck gravatar image rmck  ( 2017-11-29 19:33:30 -0500 )edit

I removed ROS aand reinstalled it but my assimp packages had the wrong version again so I was back at square 1. I ended up reverting the assimp versions to 3.0 which worked fine

ysl208 gravatar image ysl208  ( 2018-05-16 16:59:09 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2017-07-13 13:12:40 -0500

Seen: 1,379 times

Last updated: Sep 11 '17