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

Revision history [back]

click to hide/show revision 1
initial version

You need to clone the source code into a ROS workspace so that you can build it. The "workspace" at /opt/ros/groovy/stacks is a special sort of installed set of stacks. By default you cannot install a rosbuild stack, the rosrelease-legacy (https://github.com/ros-infrastructure/rosrelease-legacy) system has some scripts which sort of install rosbuild stacks so they can be installed from apt-get.

I would recommend that you setup a ROS workspace in your home folder, clone the code there, build it, and then source that before starting your work.

$ mkdir ~/ros_ws
$ cd ~/ros_ws
$ rosws init .
$ roslocate info arm_navigation --distro=groovy | rosws merge -
$ rosws update  # This should clone the code
$ source ./setup.bash
$ rosmake arm_navigation

The above will only work if you already have all of the dependencies of arm_navigation installed. If you need to get all of the missing dependencies as well, I would use rosinstall_generator (http://wiki.ros.org/rosinstall_generator):

$ mkdir -p ~/arm_navigation_ws/catkin
$ mkdir -p ~/arm_navigation_ws/rosbuild
$ cd ~/arm_navigation_ws
# This is important so that the packages you already have are on the ROS_PACKAGE_PATH
$ source /opt/ros/groovy/setup.bash
# First get the catkin dependencies you are missing
$ rosinstall_generator --rosdistro groovy --wet-only --exclude RPP --deps --tar arm_navigation > catkin/deps.rosinstall
# Then get a list of the rosbuild ones (including arm_navigation)
$ rosinstall_generator --rosdistro groovy --dry-only --exclude RPP --deps --tar arm_navigation > rosbuild/deps.rosinstall
# Now deal with the catkin packages first
# (rosbuild can depend on catkin, but not the other way around, so caktin always gets built first)
$ cd catkin
# Fetch the packages
$ wstool init src ./deps.rosinstall -j8
# Have rosdep try to install any missing system dependencies
$ rosdep install --from-paths src --ignore-src --rosdistro groovy -y
# Now build and install stuff, result should be in ~/arm_navigation_ws/catkin/install
$ catkin_make install
# Now deal with rosbuild
$ cd ../rosbuild
# Create a ros ws here which references the catkin result from before
$ rosws init ./ ../catkin/install
$ rosws merge deps.rosinstall
$ rosws update
$ source ./setup.bash
$ rosmake -a

After that's done you can source ~/arm_navigation_ws/rosbuild/setup.bash anytime you need to use all the code you just built (it includes packages from /opt/ros/groovy.