Home | Tutorials | Wiki | Issues
Ask Your Question
0

Unable to compile Gazebo with Dart. Bizarre error no static lib found error.

asked 2015-06-26 11:38:55 -0600

Skylion gravatar image

updated 2015-06-26 11:39:36 -0600

I was trying to compile Gazebo with Dart on Ubuntu 14.04, but alas I keep getting this bizarre error:

gazebo: error while loading shared libraries: libgazebo_common.so.4: cannot open shared object file: No such file or directory

Know, I know this error is very similar to one of the ones described in the tutorial for installing Gazebo, but that error is libgazebo_common.so.1 not .4. Moreover, I tried the solution suggested on that page:

echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/gazebo.conf 
sudo ldconfig

but it did not work. Any idea how to resolve this error? I tried both following the directions on the websites and when that did not work, using the .sh script provided in the following git repo to do it, but that did not work. Any idea what could be causing my error?

edit retag flag offensive close merge delete

Comments

Did you check that libgazebo_common.so.4 is inside /usr/local/lib? Have you tried /usr/local/lib/x86_64-linux-gnu instead?

chapulina gravatar imagechapulina ( 2015-06-26 11:45:58 -0600 )edit

That worked, but now I am getting new errors:Error opening log file: "/home/skylion/.gazebo/gzserver.log" Error opening log file: "/home/skylion/.gazebo/default.log" Error opening log file: "/home/skylion/.gazebo/gzclient.log" Error opening log file: "/home/skylion/.gazebo/default.log" Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::notify() and catch all exceptions there.

terminate cal

Skylion gravatar imageSkylion ( 2015-06-26 11:58:46 -0600 )edit

humm maybe try deleting your log files? `rm ~/.gazebo/*.log`

chapulina gravatar imagechapulina ( 2015-06-26 12:03:22 -0600 )edit

Thank you, @chapulina your solution worked. If you write it up, I'll accept it in answer form. Update: I spoke too soon, it' s not running dart now: * Internal Program Error - assertion (dartChildLink.get() != __null) failed in virtual void gazebo::physics::DARTJoint::Init(): /home/skylion/gazebo/gazebo/physics/dart/DARTJoint.cc(84): dartChildLink pointer is NULL. Regardless, since this is a different issue I have opened up a new question on the matter.

Skylion gravatar imageSkylion ( 2015-06-26 12:13:20 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2015-06-26 12:06:39 -0600

Jose Luis Rivero gravatar image

When building gazebo from source and installing it outside of /usr (i.e. /usr/local) the loader needs to know about where to find the libraries. To make it easy, gazebo provides the setup.sh script. So:

  • Source the setup.sh file in /usr/local installation (. /usr/local/share/gazebo/setup.sh)

  • Install gazebo (cmake .. -DCMAKE_INSTALL_PREFIX=/usr) into /usr will workaround about this kind of problems, if this is an option for you.

  • As Louise pointed in the comment, the library path used by gazebo is a arch-dependent path (i.e. /usr/local/lib/x86_64-linux-gnu on 64 bits systems). I won't recommend to use /etc/ld.so.conf.d for pointing it to /usr/local, it could end up in a security risk.

edit flag offensive delete link more

Comments

I tried source setup.sh and my DCMAKE_INSTALL_PATH did equal /usr

Skylion gravatar imageSkylion ( 2015-06-26 12:08:36 -0600 )edit
Login/Signup to Answer

Question Tools

Stats

Asked: 2015-06-26 11:38:55 -0600

Seen: 350 times

Last updated: Jun 26 '15