Broken gazebo7 in Ubuntu16.04 packages [closed]

asked 2017-01-23 05:24:00 -0600

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Hi,

After a long time running on Ubuntu 14.04, I finally decided to upgrade my distro last week. Before I started, I deleted every files and bashrc entries concerning ROS indigo I installed previously. I also checked twice there were no gazebo-related libraries in the PATH. I then installed gazebo7 from the official repositories:

sudo apt-get update
sudo apt-get install gazebo7

However, when I start it, it looks like there is an undefined reference to a libgazebo library:

[gabs48@gu-laptop:~]$ gazebo
gzserver: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgazebo_rendering.so.7: undefined symbol: _ZNK4Ogre9Exception18getFullDescriptionB5cxx11Ev
gzclient: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgazebo_rendering.so.7: undefined symbol: _ZNK4Ogre9Exception18getFullDescriptionB5cxx11Ev

I may be wrong but I'm pretty sure I have nothing installed in the PATH beside the official ubuntu packages:

[gabs48@gu-laptop:/]$ sudo find ./ | grep gzclient
./usr/bin/gzclient
./usr/bin/gzclient-7.0.0
./usr/share/man/man1/gzclient.1.gz
[gabs48@gu-laptop:/]$ sudo find ./ | grep gzserver
./usr/bin/gzserver-7.0.0
./usr/bin/gzserver
./usr/share/man/man1/gzserver.1.gz
[gabs48@gu-laptop:/]$ sudo find ./ | grep libgazebo_rendering.so
./usr/lib/x86_64-linux-gnu/libgazebo_rendering.so.7.0.0
./usr/lib/x86_64-linux-gnu/libgazebo_rendering.so.7

So, I admit I'm a bit confused cause I never had any compatibility problem on Ubuntu in the past... Would anyone know what this _ZNK4Ogre9Exception18getFullDescriptionB5cxx11Ev refers to and why it wouldn't be found in the libraries?

Any help is very welcome! Thank you very much!

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by gurbain
close date 2017-03-03 03:06:01.405976

Comments

Looks like a problem with one of the symbols in the ogre libraries. Could you please edit the answer and attach the result of: 1. which gazebo 2. ldd /usr/bin/gzclient | grep render 3. nm -D /usr/lib/x86_64-linux-gnu/libOgreOverlay.so.1.9.0 | grep Exception 4. dpkg -l | grep ogre. Thanks.

Jose Luis Rivero gravatar imageJose Luis Rivero ( 2017-01-23 17:09:30 -0600 )edit

Hi Jose, Thank you for you fast reply! I found the solution yesterday evening. Actually, as old version of Ogre was still remaining in my /usr/local/lib path. I hadn't noticed it because gzclient and gzserver were randomly linking to it or to the official Ubuntu Ogre1.9 library in /usr/lib. So it didn't appear when I run the ldd command the first time, but well another time. I just removed Ogre in /usr/local and it works like a charm!

gurbain gravatar imagegurbain ( 2017-01-24 03:07:01 -0600 )edit

Just to document however, here are the outputs you recommended (which showed nothing alerting, I think): 1. $ which gazebo /usr/bin/gazebo 2. $ ldd /usr/bin/gzclient | grep render libgazebo_rendering.so.7 => /usr/lib/x86_64-linux-gnu/libgazebo_rendering.so.7 .... 3. $ nm -D /usr/lib/x86_64-linux-gnu/libOgreOverlay.so.1.9.0 | grep Ogre9Exception18getFullDescription U _ZNK4Ogre9Exception18getFullDescriptionB5cxx11Ev 4. $ dpkg -l | grep ogre ii libogre-1.9.0v5:amd64 1.9 ....

gurbain gravatar imagegurbain ( 2017-01-24 03:13:49 -0600 )edit

perfect! could you please mark the answer as solved?

Jose Luis Rivero gravatar imageJose Luis Rivero ( 2017-03-02 12:24:26 -0600 )edit