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

Installing ROS on fedora 29

asked 2018-12-18 03:55:15 -0500

yyvus gravatar image

updated 2018-12-19 05:42:37 -0500

gvdhoorn gravatar image


I am trying to install ros (full installation) on Fedora 29 from source following this link.

First comment is that

dnf install python-rosdep

is outdated by

dnf install python3-rosdep

Then, I am having dependencies that are not available for Fedora 29. More precisely, when I run the command:

rosdep install --from-paths src --ignore-src --rosdistro melodic -y

I obtain the following message:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
gazebo_dev: No definition of [libgazebo9-dev] for OS [fedora]
rqt_bag_plugins: No definition of [python-imaging] for OS version [29]
rosbag: No definition of [python-imaging] for OS version [29]

Will that make my installtion fail? or only for the rosbag and gazebo installation. Will ros be usable without those dependencies? Can it be updated on the repositrories in order to have the installation completed?

Thanks in advance

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-02-13 12:58:43 -0500

Hi, yyvus, thanks for pointing out the gap in our documentation related to rosdep. The Fedora packaging community has been pushing for removal of Python 2 packages pretty aggressively, and part of that effort is moving "default" executables like /usr/bin/rosdep to be provided by Python 3 packages instead. I'll update the documentation.

For the missing rosdep keys for Fedora 29, there are a couple of issues. The python-imaging rule never got updated when Fedora 29 shipped. I've opened a pull request to solve the issue: .

The gazebo key is more complex. Fedora 29 packages Gazebo 8, while that key calls for Gazebo 9. The ROS releases follow the package versions in Ubuntu, and Fedora's ship cycle and package versions differ in many ways, resulting in de-synchronizations like this. We're talking about using Fedora Modular to solve this issue for Fedora specifically, but the problem could manifest for any non-Ubuntu platform. I can tell you that on my Fedora 29 machine, I was able to install gazebo-devel and build successfully even though the gazebo_dev package targets Gazebo 9.

After working around these two issues, you'll encounter two more key issues. gazebo9 suffers from the same problem as libgazebo9-dev, and the package name for python-opengl is no longer correct. I opened a pull request to solve that issue, too:

So to work around these issues, install the packages for the missing and incorrect keys and run rosdep again, specifically ignoring the broken rules:

# sudo dnf install gazebo-devel python2-pillow python2-pillow-qt python2-pyopengl
# rosdep install --from-paths src --ignore-src --rosdistro melodic -y --skip-keys "gazebo9 libgazebo9-dev python-imaging python-opengl"
edit flag offensive delete link more


Thanks for your answer. Due to the difficulties, I decided to move towards a Docker installation based on the ROS image, which works perfectly.

yyvus gravatar image yyvus  ( 2019-02-18 02:58:58 -0500 )edit

Question Tools

1 follower


Asked: 2018-12-18 03:55:15 -0500

Seen: 1,685 times

Last updated: Feb 13 '19