On Wed, Oct 3, 2012 at 9:49 AM, Leopold Palomo-Avellaneda wrote: > A Dimecres 03 Octubre 2012, Rich Mattes va escriure: >> On Tue, Oct 2, 2012 at 6:18 PM, Leopold Palomo Avellaneda >> 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 >> > >> > >> > >> > to >> > >> > >> > 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