Gazebo | Ignition | Community
Ask Your Question
0

gazebo: symbol lookup error - ignition math / libignition issue after upgrade from 9.0 to 9.13

asked 2020-05-14 08:00:32 -0500

TorontoRoboticsClub gravatar image

updated 2020-05-14 08:33:43 -0500

Hello,

I installed Gazebo9 version 9.13 on Ubuntu 18.04 (alongside ROS Melodic) and now I get this error:

gazebo: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgazebo_common.so.9: undefined symbol: _ZN8ignition10fuel_tools12ClientConfig12SetUserAgentERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

The typical solution did not work for me. All these did not fix the error:

sudo apt upgrade libignition-math2

sudo apt upgrade libignition-math2*

sudo apt upgrade libignition-math4

sudo apt upgrade libignition-math4*

sudo apt upgrade libignition-fuel-tools*

sudo apt upgrade libignition*

This error came about when i tried to update Gazebo 9 from version 9.0 to 9.13. I did this by downloading all the deb files from http://gazebosim.org/download and running the following commands (in order):

sudo dpkg -i libgazebo9_9.13.0-1~bionic_amd64.deb

sudo dpkg -i gazebo9-common_9.13.0-1~bionic_all.deb

sudo dpkg -i gazebo9_9.13.0-1~bionic_amd64.deb

sudo dpkg -i gazebo9-plugin-base_9.13.0-1~bionic_amd64.deb

sudo dpkg -i gazebo9-doc_9.13.0-1~bionic_all.deb

sudo dpkg -i libgazebo9-dev_9.13.0-1~bionic_amd64.deb

sudo dpkg -i gazebo9-dbg_9.13.0-1~bionic_amd64.deb

Some people solved the issue with the line LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libignition-fuel_tools2.so.2 gazebo(https://bugs.launchpad.net/ubuntu/+so...), so I downloaded the packages from http://gazebosim.org/distributions/ig... and ran the command:

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libignition-fuel_tools2.so.2 gazebo and everything works. How do I now modify my system so that I dont need to preload the so file? What is the right way?

*******EDIT #1*********

One way is to rename the links to libignition-fuel_tools1.so.1.0.0 which are libignition-fuel_tools1.so and libignition-fuel_tools1.so.1 to something else (I didn't delete them, I added zzz at the begining of the name); then make two copies of a link to libignition-fuel_tools1.so.2.0.0 and rename them as libignition-fuel_tools1.so and libignition-fuel_tools1.so.1. Now any calls to lib version 1.0 are actually calls to version 2.0.

This works, but is this the right way to handle this issue?

Thanks

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-01-03 04:33:58 -0500

this post is marked as community wiki

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

I got the same error message:

gazebo: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgazebo_common.so.9: undefined symbol: _ZN8ignition10fuel_tools12ClientConfig12SetUserAgentERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

I was not sure about what the problem be, however I solved it by running this command:

sudo apt-get --reinstall install libignition-fuel-tools*

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2020-05-14 08:00:32 -0500

Seen: 1,137 times

Last updated: May 14 '20