From Fedora Project Wiki

< SIGs‎ | Robotics

Revision as of 17:02, 2 June 2012 by Rmattes (talk | contribs)

ROS has traditionally only supported a self-contained installation from version control, typically somewhere like ~/ros or /opt/ros. While Debian and Ubuntu packages exist for many ROS components, they are hosted by the ROS community and onl support installation to /opt/ros. Beginning with ROS Fuerte (released 2012-04-23), the ROS community is moving towards conforming with the FHS (REP 122.)

Now that the ROS community are targeting an FHS-compatible layout, it should be possible to generate binary packages for ROS components and get them accepted into Fedora proper (distribution acceptance is one of the stated reasons for the switch.) This page summarizes the progress towards getting a full working ROS installation into Fedora.



Some extra packaging work is

  • Ensure all appropriate Fedora packages appear in their relevant rosdep manifests
  • Package Gazebo (Review Request)
    • Issues: Bundles several libraries, prefixed with gazebo_*.so. Some (ODE) contain significant changes from upstream. Need to get clarification on whether changes will be upstreamed.
  • Fedora's PCL package lacks the ros messages and catkin setup information needed for perception_pcl.


ROS Core

These packages come from the "ros-underlay" source distribution, and all share the same SRPM. (ros-fuerte-1.8.7). The ros-fuerte rpm is based on a snapshot of the ros-underlay, taken on 2012-05-17. The source can be obtained by using the command:

rosinstall --catkin ~/fuerte-ros-base

A "rosinstall" SRPM is available in the ROS Utilities section.

Component Name RPM Name Version Location
ros ros-fuerte-ros 1.8.7 SRPM
actionlib ros-fuerte-actionlib 1.8.4
common_msgs ros-fuerte-common-msgs 1.8.5
gencpp ros-fuerte-gencpp 0.3.0
genlisp ros-fuerte-genlisp 0.3.0
genmsg ros-fuerte-genmsg 0.3.5
genpy ros-fuerte-genpy 0.3.3
ros_comm ros-fuerte-ros-comm 1.8.9
ros_cpp ros-fuerte-ros-cpp 0.2.3
rospack ros-fuerte-rospack 2.0.12
std_msgs ros-fuerte-std-msgs 0.4.6
catkin catkin 0.3.29

ROS Utilities

These packages are usually installed with easy_install or pip. They come from repositories on github, and contain some python utilities that aren't included in the ROS core source. At the moment we're not sure whether all of these are needed, but they're packaged just in case.

Component Name RPM Name Version Location
rosdep rosdep 0.9.3 SRPM
rosinstall rosinstall 0.3.15 SRPM
rospkg rospkg 1.0.2 SRPM
vcstools vcstools 0.1.4 SRPM


These are individual stacks that rely on each other and on the ROS Core. They all get installed to /usr/share/ros-stacks/stackname

Stacks can be downloaded as tarballs from the ROS Release archive. Each stack's directory contains a plain tarball, debian package source, and a yaml file. We can use the plain tarball for packaging, and the .yaml files generally have brief and full descriptions of the stack, inter-stack dependencies, and package dependencies that we can use to help write the .spec files.

Stack RPM Name Version Location
bond_core ros-fuerte-bond-core 1.6.3 SRPM
bullet ros-fuerte-bullet 2.79 SRPM
diagnostics ros-fuerte-diagnostics 1.6.4 SRPM
driver_common ros-fuerte-driver-common 1.4.0 SRPM
dynamic_reconfigure ros-fuerte-dynamic-reconfigure 1.4.0 SRPM
filters ros-fuerte-filters 1.6.0 SRPM
geometry ros-fuerte-geometry 1.8.0 SRPM
image_common ros-fuerte-image-common 1.8.0 SRPM
nodelet_core ros-fuerte-nodelet-core 1.6.5 SRPM
orocos_kinematics_dynamics ros-fuerte-orocos-kinematics-dynamics 0.2.3 SRPM
pluginlib ros-fuerte-pluginlib 1.8.0 SRPM
vision_opencv ros-fuerte-vision-opencv 1.8.2 SRPM