Hello all,
Some students have developed some code using ROS that I would like to
make use of. The obvious, easy solution is to install Ubuntu on a
computer and use it that way, but I've been trying to see how much of
a hassle it would be to set things up on my Fedora 18 desktop.
I've had some success following the instructions at
http://www.ros.org/wiki/fuerte/Installation/Fedora and making use of
the packages from
http://rmattes.fedorapeople.org/rospackages/. As far
as I can recall -- wasn't taking notes, unfortunately -- the following
are the things I had to modify from the instructions given on that page:
* installed python-rosinstall, python-rospkg and python-rosdep (and
ros-release) from the fedorapeople repo instead of using python-pip
* downloaded
http://ros.org/rosinstalls/fuerte-ros-full.rosinstall
and changed the path for actionlib to refer to ros-gbp instead of
wg-debs
* created an appropriate rosdep-fedora.yaml file as described here
(
https://code.ros.org/trac/ros/ticket/3929)
* edited CMakeCache.txt after running cmake to set
SETUPTOOLS_ARG_EXTRA to an empty string before running "make
install" (SETUPTOOLS_DEB_LAYOUT seems not to work quite right)
* created a symlink dist-packages -> site-packages
inside /opt/ros/fuerte/lib/python2.7, again because the deb layout
seemed to be getting in the way
* added "set (PythonLibs_FIND_VERSION 2)" before all "find_package
(PythonLibs)" calls in all CMakeLists.txt files (in the underlay
and the actual OS) so that it finds Python 2 instead of Python 3
* added "rosbuild_link_boost ($executable system)" to various
CMakeLists.txt files -- with Boost 1.50.0, you have to explicitly
link against the system lib or else you get undefined references
to symbols like '_ZN5boost6system15system_categoryEv'
But now, unfortunately, I've hit "the pcl issue"
(
http://lists.fedoraproject.org/pipermail/robotics/2012/000671.html).
The specific symptom is as follows (in the middle of "rosmake -a"):
[rosbuild] Building package costmap_2d
Failed to invoke /opt/ros/fuerte/bin/rospack deps-manifests
costmap_2d
[rospack] Error: package/stack costmap_2d depends on
non-existent package pcl
I do have pcl-devel-1.6.0-2.fc18.x86_64 installed but it doesn't seem
to help. I tried rebuilding the pcl srpm with the patch from
http://dev.pointclouds.org/issues/699 (it applied with minimal fuzz),
but the rpmbuild pretty much brought my fairly beefy desktop machine
to its knees and I'm not sure if it will help in any case. Should I
persevere with that?
Any other suggestions for getting this working? As a fallback, I can
just install Ubuntu on our demo laptop, but it would be nice to have
this working.
All the best,
MEF
Hi,
After hacking on this issue for a while, the best solution I have found
is to package the core ros stack (or otherwise have it available,) and
then build PCL with the issue 699 patch and USE_ROS set to true.
The error you're getting is because PCL doesn't provide any of the ROS
package metadata out of the box, so rospack fails to find PCL. The patch
from issue 699 aimed to fix that, and to make PCL play nice with the ROS
message definitions. PCL is a beast to build though; there's tons of
templates which seem to slow gcc down considerably.
I'm pretty sure that the 699 patch + your best path forward while we
work on getting ROS packaged up (some of the python tools are already
packaged, and the fuerte packages on my fedorapeople are almost for
submission when I find some spare cycles). I'd be interested in knowing
if you run into any issues, because the 699 patch is how I plan on
making PCL work with ROS once the other packages are in Fedora.
Rich