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

Install ROS on CentOS 6

asked 2014-01-20 05:28:15 -0500

Robi gravatar image

updated 2014-04-20 14:09:20 -0500

ngrennan gravatar image


I'd like to install ROS on our department HPC cluster. The cluster OS is CentOS 6.4.

$ uname -rms
Linux 2.6.32-358.el6.x86_64 x86_64

$ cat /etc/redhat-release
CentOS release 6.4 (Final)

Could anybody please tell me

1) what packages (source or binaries) to download

2) the install procedure

Thank you and best regards. Robi

edit retag flag offensive close merge delete


Also, it is very likely many people did not see this question due to the tags you used, I'll try to improve my tag filter, as I don't know what other tags you would have put in.

William gravatar image William  ( 2014-01-21 07:47:29 -0500 )edit

7 Answers

Sort by ยป oldest newest most voted

answered 2014-01-21 07:34:13 -0500

William gravatar image

updated 2014-01-21 07:44:06 -0500

As the others have said, this page has everything you need:

You will have to find the CentOS equivalents to the things in the first paragraph. @Dirk Thomas just updated the above page with instructions about how to install the prerequisites on non-Ubuntu OS's.

I understand your want for the links to the tarballs, but some of these prerequisites are not published by us (Make, CMake, compiler, etc...) and the others are distributed as build tools, if you want their sources, you can simply treat them as normal Python packages. That means installed via pip, the instructions for this are now in the wiki page, and the sources obtainable from, e.g. rosdep is installed with [sudo] pip install rosdep and the source can be located here:

Once you have moved pass the prerequisites then comes the source code for the ROS packages and the instructions on the above wiki page tell you exactly how to get the source code via tarballs.

Since the ROS ecosystem is very large (hundreds of packages) we provide the rosinstall_generator tool to figure out what tar balls you need. For example, to get all of the source for roscpp, this command would be used:

% rosinstall_generator --deps --tar --rosdistro hydro roscpp
- tar:
    local-name: catkin
    uri: <a href=""></a>
    version: catkin-release-release-hydro-catkin-0.5.79-0
- tar:
    local-name: console_bridge
    uri: <a href=""></a>
    version: console_bridge-release-release-hydro-console_bridge-0.2.4-1
- tar:
    local-name: cpp_common
    uri: <a href=""></a>
    version: roscpp_core-release-release-hydro-cpp_common-0.3.17-0
- tar:
    local-name: gencpp
    uri: <a href=""></a>
    version: gencpp-release-release-hydro-gencpp-0.4.15-0
- tar:
    local-name: genlisp
    uri: <a href=""></a>
    version: genlisp-release-release-hydro-genlisp-0.4.12-0
- tar:
    local-name: genmsg
    uri: <a href=""></a>
    version: genmsg-release-release-hydro-genmsg-0.4.24-0
- tar:
    local-name: genpy
    uri: <a href=""></a>
    version: genpy-release-release-hydro-genpy-0.4.15-0
- tar:
    local-name: message_generation
    uri ...
edit flag offensive delete link more

answered 2014-01-21 07:25:39 -0500

updated 2014-01-21 07:29:29 -0500


ROS is highly distributed across a large number of repositories since it is largely community-sourced, so there is no single repository we can point you to. The core tools are at: and that's a good place to start. Then, search for each package you need and get its source. Those core tools are enough for message passing and such. If you need help finding a specific package (ie if your using your HPC for map building you would need to get and also find all of its dependencies) then let us know and we can try to help find a source.

On the topic of being heavily tied to Ubuntu: ROS will build on any linux system (in theory), the problem is that the dependency tree is so huge that it is generally not practical to install everything from source. For instance, if you wanted to install rviz then you'd need (among other things) PCL, and just building the entire PCL dependency tree entirely from source is a nightmare (in my experience). So package managers simplify everything by allowing the community to move forward with development without worrying about spending literally days finding and building huge dependency trees.

Hope this helps, Tim Sweet


To address your second question of how to build ROS: you'll need catkin (and more specifically: catkin_make_isolated ) from which can be used to build everything, assuming you have already solved the dependency tree problem.

edit flag offensive delete link more

answered 2014-01-21 07:34:13 -0500

ahendrix gravatar image

The ROS source is distributed across many repositories; there is no central tarball that contains all of ROS.

The basic steps for installing ROS are:

  • Install the rosdep utility, which is used to resolve ROS dependencies to native packages. This usually comes from pip on non-Ubuntu platforms.
  • Install the rosinstall_generator, wstool and rosinstall utilities, which are used to set up ROS workspaces and download the sources for the various ROS packages. These usually come from pip on non-Ubuntu platforms.
  • Invoke rosinstall_generator to generate the list of packages to be downloaded.
  • Invoke wstool to download and unpack the package sources.
  • Invoke rosdep to resolve and install system dependencies
  • Invoke catkin to do the build and installation process.

If you're doing the build for a HPC cluster, you'll either want to do the final installation to a shared filesystem (NFS etc) or distribute the resulting installation directory to all of the machines in your cluster.

I believe there are options for rosdep that allow you to query all of the system dependencies for the ROS packages that you're installing; you should be able to use this output to construct a script that installs all of the dependencies on each of your machines.

edit flag offensive delete link more

answered 2014-01-20 09:23:45 -0500

Athoesen gravatar image

I do not believe it is supported for CentOS at this time.

edit flag offensive delete link more

answered 2014-01-21 07:39:26 -0500

KruseT gravatar image

There is no single ROS tarball, because ROS is a messaging library at its core, but hundreds of robotics libraries as well.

The core sources of ros are ros and ros_comm

In principle they are build using cmake (not maketools like many other projects you know), but for various reasons they still require the catkin build tool.

To just install the ros and ros_comm packages from source, you will not need other ros-specific tools, I believe. However you would still miss many important ROS libraries and tools (E.g. action lib and tf).

As gvdhoorn explained, your best hope is to look at the installation instructions for other Linux variants, I think the ones for Groovy on Gentoo use no specific package manager for ros-related stuff:

Another possibility for you is to try ros as provided by robotpkg

edit flag offensive delete link more

answered 2014-01-20 20:41:45 -0500

gvdhoorn gravatar image

updated 2014-01-20 20:43:07 -0500

Seems there isn't a Hydro page yet, but the ROS wiki contains a Groovy Fedora installation page. It's all experimental, so YMMV, but it could be a start.

Don't expect to be able to yum install .. anything though.

Also, see Installing ROS in centOS on this site.

edit flag offensive delete link more

answered 2014-01-21 04:18:47 -0500

Robi gravatar image

Hi all.

Thank you for your answers. I understand that CentOS is not supported.. I read it on the site.. but I'd like to install from source.. I don't want to use yum, rpm, apt.. I just want somebody tell me where to get the sources and I'll try to build it myself.. where's the git (or subversion or any other vcs system) repository for the ROS source? Are there source tarballs?

Thank you and best regards. Robi

edit flag offensive delete link more



Have you checked the links I posted? They contain exactly that - instructions on how to build from source. Also: it is customary to update the original question with these kinds of comments. Or post them as a comment, not a separate answer.

gvdhoorn gravatar image gvdhoorn  ( 2014-01-21 04:36:25 -0500 )edit Everything you need is on here. This is the closest I found:

Athoesen gravatar image Athoesen  ( 2014-01-21 04:37:32 -0500 )edit

Question Tools


Asked: 2014-01-20 05:28:15 -0500

Seen: 7,379 times

Last updated: Jan 21 '14