Ask Your Question

Revision history [back]

Here's what I did to make it work:

Change the manifest.xml to the following:

<package>
  <description brief="SLAM on RGBD Data">
    This package can be used to register the point clouds from RGBD sensors such as the kinect or stereo cameras.
    The rgbdslam node can be connected easily to an octomap_server node to create a memory-efficient 3D map.
  </description>
  <author>Felix Endres, Juergen Hess, Nikolas Engelhard</author>
  <license>GPL v3</license>
  <review status="unreviewed" notes=""/>
  <url>http://ros.org/wiki/rgbdslam</url>
  <depend package="tf"/>
  <depend package="g2o"/>
  <depend package="pcl"/>
  <depend package="rospy"/>
  <depend package="roscpp"/>
  <depend package="rosbag"/>
  <depend package="pcl_ros"/>
  <!--depend package="opencv2"/-->
  <depend package="cv_bridge"/>
  <depend package="sensor_msgs"/>
  <!--depend package="openni_camera"/-->
  <depend package="geometry_msgs"/>
  <depend package="visualization_msgs"/>
  <rosdep name="opengl"/>
  <rosdep name="qt4"/>
  <rosdep name="eigen"/>
  <rosdep name="libglew"/>
  <rosdep name="libdevil"/>
  <rosdep name="gsl-dev"/>
  <rosdep name="gl2ps"/>
  <export>
    <rosdoc config="rosdoc.yaml" />
    <nodelet plugin="${prefix}/nodelet_plugins.xml" />
    <cpp cflags="-I${prefix}/srv_gen/cpp"/>
 </export>
</package>

This makes the eigen library known as a system dependency, not a ros package.

Here's what I did to make it work:

Change the manifest.xml to the following:

<package>
  <description brief="SLAM on RGBD Data">
    This package can be used to register the point clouds from RGBD sensors such as the kinect or stereo cameras.
    The rgbdslam node can be connected easily to an octomap_server node to create a memory-efficient 3D map.
  </description>
  <author>Felix Endres, Juergen Hess, Nikolas Engelhard</author>
  <license>GPL v3</license>
  <review status="unreviewed" notes=""/>
  <url>http://ros.org/wiki/rgbdslam</url>
  <depend package="tf"/>
  <depend package="g2o"/>
  <depend package="pcl"/>
  <depend package="rospy"/>
  <depend package="roscpp"/>
  <depend package="rosbag"/>
  <depend package="pcl_ros"/>
  <!--depend package="opencv2"/-->
  <depend package="cv_bridge"/>
  <depend package="sensor_msgs"/>
  <!--depend package="openni_camera"/-->
  <depend package="geometry_msgs"/>
  <depend package="visualization_msgs"/>
  <rosdep name="opengl"/>
  <rosdep name="qt4"/>
  <rosdep name="eigen"/>
  <rosdep name="libglew"/>
  <rosdep name="libdevil"/>
  <rosdep name="gsl-dev"/>
  <rosdep name="gl2ps"/>
  <export>
    <rosdoc config="rosdoc.yaml" />
    <nodelet plugin="${prefix}/nodelet_plugins.xml" />
    <cpp cflags="-I${prefix}/srv_gen/cpp"/>
 </export>
</package>

This makes the eigen library known as a system dependency, not a ros package.


If you receive the error below, then you need to install a package.

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:

rgbdslam: Cannot locate rosdep definition for [gl2ps]

Use this command to install the package:

sudo apt-get install libgl2ps-dev libgl2ps0