Ask Your Question

Revision history [back]

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: https://github.com/ros/rosdistro/pull/20298.

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: https://github.com/ros/rosdistro/pull/20299

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"