Work in progress Not yet completed. A quick answer is here: http://answers.ros.org/question/51953/debian-source-install-groovy/
Debian Testing install of ROS Groovy
The following HOW-TO was tested only on Debian Testing (Jessie), as of August 2013. If you want to improve this how-to, feel free to edit this page.
As binary packages are not provided for Debian, you need to download and compile the source code of most packages on your own.
There are two ways to install the core ROS packages: using apt-get, as explained by this guide, or pip. Remember that you can't use both pip and apt-get, because packages are in conflict. If you have already installed some package from pip and you want to follow this guide, be sure to correctly uninstall all previous version of the installed packages
Configure your Debian repositories
Setup your computer to accept software from packages.ros.org:
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu wheezy main" > /etc/apt/sources.list.d/ros-latest.list'
Set up your keys:
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
First of all, make sure your Debian package index is up to date:
$ sudo apt-get update
Then, install the bootstrap dependencies and checkinstall:
$ sudo apt-get install python-rosdep python-rosinstall-generator python-wstool build-essential checkinstall
Building the catkin Packages
ROS is in the process of converting itself to a new build system, called catkin. At this moment, not all of the packages have been converted to the new system, and the two build systems cannot be used simultaneously. Therefore it is necessary to build the core ROS packages first (catkin packages) and then the rest.
Create a catkin Workspace
In order to build the core packages, you will need a catkin workspace. Create one now:
$ mkdir ~/ros_catkin_ws $ cd ~/ros_catkin_ws
Next we will want to fetch the core packages so we can build them. We will use wstool for this. Select the wstool command for the particular variant you want to install:
$ rosinstall_generator desktop-full --rosdistro groovy --deps --wet-only > groovy-desktop-full-wet.rosinstall $ wstool init -j8 src groovy-desktop-full-wet.rosinstall
$ rosinstall_generator desktop --rosdistro groovy --deps --wet-only > groovy-desktop-wet.rosinstall $ wstool init -j8 src groovy-desktop-wet.rosinstall
ROS-Comm: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.
$ rosinstall_generator ros_comm --rosdistro groovy --deps --wet-only > groovy-ros_comm-wet.rosinstall $ wstool init -j8 src groovy-ros_comm-wet.rosinstall
This will add all of the catkin or wet packages in the given variant and then fetch the sources into the ~/ros_catkin_ws/src directory. The command will take a few minutes to download all of the core ROS packages into the src folder. The -j8 option downloads 8 packages in parallel.
Before you can build your catkin workspace you need to make sure that you have all the required dependencies. We will use the rosdep tool and checkinstall for this.
Install Collada Dom
collada-dom-dev is a required dependency which is unfortunately not part of the Debian repositories. You should install it by yourself. We suggest to use the checkinstall tool to make it easy and clean to uninstall the package later.
download the collada-dom compressed file (tarball) from the official website
extract it in a folder ($COLLADA_FOLDER)
- issue the following command from a terminal:
cd $COLLADA_FOLDER; cmake .; make; sudo checkinstall make install
When check install runs you may need to update the package name from "collada-dom" to "collada-dom-dev" otherwise the rosdep install may fail to find it.
Now, we can run rosdep to download and install all the others dependencies:
$ rosdep install --from-paths src --ignore-src --rosdistro groovy -y -r
The only difference with the Ubuntu source installation is the -r parameter, that allows rosdep to continue his work despite errors. This is needed as rosdep can fail to detect some correctly installed deb due to differences in the names: we need to ignore those errors and continue the installation.
Building the catkin Workspace
Once it has completed downloading the packages and resolving the dependencies you are ready to build the catkin packages. We will use the catkin_make_isolated command because there are both catkin and plain cmake packages in the base install, when developing on your catkin only workspaces you should use catkin/commands/catkin_make.
To install it in /opt/ros/groovy
$ ./src/catkin/bin/catkin_make_isolated --install --install-space /opt/ros/groovy
if you install in /opt/ros/groovy, remember that you must have permission to write files in that folder.
To install it in the install_isolated folder, inside the catkin workspace:
$ ./src/catkin/bin/catkin_make_isolated --install
Now source the setup.bash file in your installation directory to setup your envirorment. You can run one of the following commands:
if you have installed ROS in /opt/ros/groovy
$ echo "source /opt/ros/groovy/setup.bash" >> ~/.bashrc
if you have installed ROS in install_isolated folder:
$ echo "source ~/ros_catkin_ws/install_isolated/setup.bash" >> ~/.bashrc
There may be some issues when compiling some ROS packages, for which some workaround is here provided. Some of them are a bit quick and dirty: if you have more elegant solutions, feel free to update this page.
qt_gui_cpp doesn't find ShibokenConfig-python3.2.cmake. For debian amd64 installation just run:
$ sudo ln -s /usr/lib/x86_64-linux-gnu/cmake/Shiboken-1.1.2/ShibokenConfig.cpython-33m.cmake /usr/lib/x86_64-linux-gnu/cmake/Shiboken-1.1.2/ShibokenConfig-python3.2.cmake
qt_gui_cpp compilation stops for a missing shared library "libpython3.3m.so". For debian amd64 installation just run:
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libpython3.3m.so.1 /usr/lib/x86_64-linux-gnu/libpython3.3m.so
rosbag doesn't compile. Simply edit the line reported in the compiler error in the rosbag sources, removing the constant namespace qualifier (in this case boost: )
Build the rosbuild Packages
Now that you have the catkin ROS packages built and sourced, you can build any of the packages and stacks using the rosbuild build system. See the paragraph on the Ubuntu installation tutorial for this.