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

I have been going through some similar issues trying to install on PandaBoard from source. The reason someone will need to install from source in Precise, is if they are on an ARM processor (i.e. BeagleBoard, PandaBoard, etc.) - no debian packages for ARM (yet*).

As far as my understanding goes:

  1. ros-fuerte-pcl is a 3rd party dependency (<rosdep> key 'pcl'), which has been patched/wrapped into it's own debian package on Willow's wg-debs github (so that it plays nice with ROS).
  2. There are a bunch of funky naming things going on with 'pcl'-related packages/stacks/dependencies.

    • EX:

    $ rosdep keys pcl
    pcl
    $ rosdep resolve pcl
    #apt
    ros-fuerte-pcl
    $ rospack find pcl
    /opt/ros/fuerte/share/pcl
    $ roslocate info pcl
    - svn:
    local-name: pcl
    uri: http://svn.pointclouds.org/ros/trunk/perception_pcl_unstable/pcl
    $ roslocate type pcl
    package
    
    Btw, http://svn.pointclouds.org/ros/trunk/perception_pcl_unstable/pcl, doesn't exist

    • Some packages depend on a ROS package named 'pcl' (<depend package="pcl"/>), and some depend on an external package, with the key 'pcl' (<rosdep name="pcl"/> e.g. ros-fuerte-pcl).
    • And, I'm not completely sure, but I believe that the "Missing resource pcl" will be satisfied when you install ros-fuerte-pcl (from package or source). There is a subfolder 'ros' in the ros-fuerte-pcl package whose contents get installed in /opt/ros/fuerte/share/pcl (which is where 'rospack find pcl' points me in my debian package install of Fuerte on Precise x86 machine).
    • Side note: perception_pcl includes a ROS package 'pcl_ros' which I think used to mostly serve to pull in the external dependency.
  3. Also, currently rosdep doesn't work for <rosdep> dependencies in stacks (stack.xml). It just ignores them. Thus, if you have to build stacks from source that list their dependencies at the stack level (e.g. ros-fuerte-pcl, opencv) you have to manually go into the stack.xml and install each (debian) package it lists. You may need to resolve those <rosdep> keys into actual package names using rosdep.

  4. You will also notice that you're "missing resource protobuf". This is from packages in simulator_gazebo depending on a ROS package called protobuf. The protobuf ROS package/stack exists for Ubuntu Lucid and earlier, which did not distribute the proper version of the library. In Precise, there should be a protobuf debian package (libprotobuf7), even for ARM, which I'd recommend you just apt-get install manually. Then you can just comment out the shell ROS dependency, <depend package="protobuf"/>, from the manifest.xml's in gazebo_words and gazebo. Your missing protobuf resource should disappear in a rosdep check -a

Sorry if that was a bit of an overload; hopefully it shines some light on what's going on. Also, related FYI: http://answers.ros.org/question/35602/ros-fuerte-pandaboard-ubuntu-1204-no-go/

*There might be armel packages (BeagleBoard) possible in the near future, but armhf (PandaBoard) not as much.