ROS

Preface
There are currently (June 2016) three ways of installing ROS on Gentoo:


 * 1) Following the official (but experimental) guide using an ebuild repository.
 * 2) Following the official Linux distribution agnostic guide.
 * 3) Using ROS provided by the Gentoo ebuild repository (Portage's default).

If you are unsure which one to pick, stick with the ebuild repository-based method since the other two methods may require some troubleshooting. The other two options may be more attractive to purists.

Following the official guide and using the ebuild repository
This section is intended to be complementary to the official ROS Jade Installation Guide.

Prerequisites
ROS jade has an ebuild repository that is currently being maintained by the ROS Organization found here.

You will need to set up the ROS ebuild repository. This removes the need for layman.

Then sync the repository (future operations will do this automatically):

In system dependencies:

It is not recommended to use pip in Gentoo. A large effort was made to ensure that all dependencies for primarily supported OS's (e.g. Ubuntu) are also resolved for Gentoo. Core ROS packages can be installed from the ebuild repository.

Installation
The instructions from the official guide can be followed from this point.

Linux distro agnostic ROS install
This section is intended to be complementary to http://wiki.ros.org/Installation/Source.

The method suggested will install all ROS packages directly into your catkin workspace (so they won't be available in other workspaces) and installs ROS software dependencies from portage. As in the ebuild repository based guide, avoid using and install the required software for bootstrapping the ROS installation instead.

Installing ROS from Portage
ROS is already represented in Portage. For example:

Some environment variables should be set for correct operation of ROS:

It is easiest to simply put them in the user's file.

Troubleshooting

 * ROScore won't start (it will appear inactive for some minutes and then display a message) unless the hostname is resolved correctly. The message will refer to http://wiki.ros.org/ROS/NetworkSetup
 * If you miss rosrun and other shell commands, install
 * Sourcing /etc/profile may help
 * requires use-flag rendering
 * requires use-flags ros_messages_eus ros_messages_lisp ros_messages_nodejs if you want to avoid warning at compile time
 * the same use-flags should also be set for  and other msgs as required
 * Setting PYTHONPATH to the above export can break regular 3.x systems. The requirements of ROS on Python can clash with the requirements of Portage and create emerge hell. Just like the standard implementation for development and experimentation it might be best to have the Gentoo install in a VM.