Ask Your Question

Problem with running Gazebo in a Docker container [closed]

asked 2015-09-20 13:11:39 -0500

Jim Rothrock gravatar image

I want to be able to test my robot code with Gazebo on both ROS Indigo and Jade on the same machine. Indigo and Jade use versions of Gazebo that cannot be installed simultaneously, so I'm trying to do my Jade testing in a Docker container. I've installed the Jade image like this:

docker pull osrf/ros:jade-desktop-full

I then run a Bash shell in a Docker container:

docker run -it osrf/ros:jade-desktop-full bash

In the shell, I launch Gazebo:

roslaunch gazebo_ros empty_world.launch

I get this error:

/opt/ros/jade/lib/gazebo_ros/gzserver: 22: .: /opt/ros/jade/lib/gazebo_ros/gzclient: 17: .: Can't open /share/gazebo//

This problem seems to be caused by the lack of a gazebo,pc file in the container's /usr/lib/pkgconfig directory. Is there some step that I missed, regarding running Gazebo in a Docker container? I'm aware that I'll have to do more set-up in order to allow Gazebo to access the X server, but right now I just want to solve the gazebo.pc problem.

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Jim Rothrock
close date 2015-10-02 23:31:47.929725

1 Answer

Sort by ยป oldest newest most voted

answered 2015-09-28 01:06:54 -0500

tfoote gravatar image

I can reproduce the problem. You're right about the missing pc file.

The problem is that the package does not declare a runtime dependency on libgazebo5-dev which is the package that provides the .pc file.

The quick workaround is to apt-get update && apt-get install -y libgazebo5-dev

Please ticket this for gazebo_ros since using the pc file makes libgazebo5-dev a missing runtime dependency.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-09-20 13:11:39 -0500

Seen: 2,108 times

Last updated: Sep 28 '15