Hi Leo, 

Thanks for contributing these resources It will help people looking to use debian greatly.  

If you'd like we could also work with you to try to merge debian support upstream.  Our whole infrastructure could be extended to support debian codenames as well as ubuntu ones. We don't have time to actively support Debian releases but patches in that direction would be accepted.  Related to this we could consider providing your backports in the main ROS repos as we do for Ubuntu.  


Jack's spot on with respect to PCL.  The problem is that PCL standalone defines symbols which collide with the ROS messages.  This is an artifact of the early development process, and can't be fixed without an api breaking change on either side.  To build the same version as in ROS see this repository [1] It is a git-buildpackage repository with all the tags generated for Ubuntu, and can easily be extended for other debian codenames into sourcedebs.

Tully

[1] https://github.com/wg-debs/perception_pcl-release




On Wed, Oct 3, 2012 at 9:48 AM, Jack O'Quin <jack.oquin@gmail.com> wrote:
On Wed, Oct 3, 2012 at 9:49 AM, Leopold Palomo-Avellaneda
<leo@alaxarxa.net> wrote:
> A Dimecres 03 Octubre 2012, Rich Mattes va escriure:
>> On Tue, Oct 2, 2012 at 6:18 PM, Leopold Palomo Avellaneda
>> <leo@alaxarxa.net>wrote:
>>
>> > Hi,
>> >
>> >
>> > First of all I have noticed that there are several packages that has a
>> > dependency a pcl package, when there's no pcl package, but there's a
> system
>> > dependency pcl. So, I have to change several manifest files from
>> >
>> >  <depend package="pcl" />
>> >
>> > to
>> >   <rosdep name="pcl" />
>> >
>> > Also, I have not be able to found which version of pcl is needed for
> fuerte
>> > (1.5, 1.6) With 1.6 it doesn't compile.
>> >
>> >
>>
>> We had a lot of fun trying to figure this out in Fedora[1] as well.  As it
>> turns out, you can't use the upstream PCL release for Fuerte, you need a
>> custom branch of PCL hosted on github[2] which contains extra message
>> definitions and stack metadata.  I raised the issue upstream[3] and it
>> looks like we have to wait for PCL 2.0 for ROS to build against PCL as a
>> stand-alone library instead of requiring that PCL be modified.  We're going
>> to try to patch Fedora's system PCL to make it a hybrid ROS stack and
>> stand-alone library so that ROS is usable until this situation is resolved.
>> It seems this issue is pretty[4] common[5].
>
> Well, we want something similar. A PCL version stand-alone that could be used
> by ros.
>
> I have seen the github code, and it doesn't seems that use the ROS stuff,
> although is required by cmake. From a ROS full installation (188) packages I
> have compiled 106, considering that pcl is not built or installed.
>
> I hope to have something functional some day ...

So do I.

Many people have stumbled over this problem in Fuerte. And, I fear it
may not get better in Groovy. I really hope I end up being wrong about
that.

I think PCL must have fallen in the cracks during the Fuerte release.
Many of us expected catkin to solve the problem of building
stand-alone PCL with the ROS message tools. That only half worked.
Thanks to catkin, PCL can now optionally be built to use standard ROS
messages, such as sensor_msgs/PointCloud2. But unfortunately, PCL also
defines several ROS messages of its own: ModelCoefficients,
PointIndices, PolygonMesh, and Vertices, which cannot reasonably be
handled by the stand-alone PCL build. The changes to the PCL 1.5
sources were too large, messy and complex to merge into their
stand-alone tree.

To ship a working Ubuntu version for Fuerte, the wg-debs/pcl github
project was created. Unfortunately, the main purpose of wg-debs is to
add the Debian rules and source control for several Ubuntu packages
hosted on packages.ros.org because they are necessary rosdep
dependencies. Getting that to work for PCL involved significant
additional source changes, mostly defining those additional messages
and using them in PCL.

That mostly solved the problem for Ubuntu systems. But, it leaves no
good solution for other Linux distros, Mac OSX, ARM boards, other
embedded systems, or anyone wanting to build everything from source.

When PCL 2.0 comes out, it will only use PCL-defined types, no ROS
messages. So, these problems should eventually go away. Until then,
the ROS community needs to provide a PCL 1.x version that can be built
and installed from source on any of our target platforms. Then, the
Ubuntu Debian packages should be built from that. Unfortunately, that
will demand considerable maintenance effort including documentation,
with active Q&A support both here and on the PCL forums.

Perhaps there is some clever way to repackage those additional ROS
messages into a catkin ROS package that a stand-alone PCL could
optionally build with, as it already does with std_msgs and
sensor_msgs when USE_ROS is specified for building. But, that seems to
be beyond my current catkin and PCL skills.
--
 joq
_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users



--
Tully Foote
tfoote@willowgarage.com
(650) 475-2827