On Fri, Dec 7, 2012 at 7:10 AM, Mary Ellen Foster <mefoster@gmail.com> wrote:
On 5 December 2012 04:35, Rich Mattes <richmattes@gmail.com> wrote:
Sorry, rosstack looks for stack.xml, not manifest.xml.  Try using "rospack find pcl".  rospack seems to use folder names, so you should symlink /usr/share/pcl -> /usr/share/pcl-1.6.  Looking back at your original error message, it looks like the command "rospack deps-manifests costmap_2d" is what is failing.  So the "rospack" command should be the one you're using to find PCL.  I just tried creating the symlink, installing manifest.xml, and running the rospack command to find PCL and find the costmap deps, and it seems to have worked.

Yes, thanks -- that got me much further in the process. Here are the other changes I had to make to get "rosmake -a" to complete:
  • I had to add a "ros" package to rosdep-fedora.yaml to allow "rosdep install -a" to work. I ended up just giving an empty list of yum packages and that seemed to work.
  • the manifest.xml for pcl refers to pkg-config things like pcl_common-1.5, while the pcl RPM installs un-versioned pkg-config things, so I had to change that both in the installed pcl manifest and in the copied version in perception_pcl/pcl_ros/manifest.xml. I also added `mysql_config --libs` to the ldflags list because libmysqlclient.so is in a subdirectory of /usr/lib64.
  • added more rosbuild_link_boost ($executable system) calls to
    • diagnostics/diagnostic_updater/CMakeLists.txt
  • added more instances of "set(PythonLibs_FIND_VERSION 2)" and rosbuild_link_boost($executable system) to CMakeLists.txt's as needed
  • added the following to laser_pipeline/laser_filters/CMakeLists.txt
    • include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../perception_pcl/pcl_ros/include)
    • link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../perception_pcl/pcl_ros/lib)
  • added protobuf to the generated .rosinstall as described at https://code.ros.org/lurker/message/20120411.124910.6ccbec56.el.html
So this all worked fine, and then I tried to rosmake the code provided by the students ... 
Failed to invoke /opt/ros/fuerte/bin/rospack deps-manifests social_robot
[rospack] Error: package/stack social_robot depends on non-existent package opencv2

Arrggghhh ... does this mean that I need a manifest.xml for opencv-devel too, or something like that?

Increasingly tempted to just jump ship to ubuntu and be done with it, but I'm stubborn. :)


MEF

It might be an electric to fuerte migration issue:  see [1].  The opencv2 ros stack was removed from fuerte in favor of using the system's opencv libraries.  You should be able to remove the dependency on the opencv2 package, and use the system-installed version instead.

Rich

[1] http://ros.org/wiki/fuerte/Migration#Errors_on_non-Ubuntu_platforms