0
$\begingroup$

Rosanswers logo

Hi all,

I am trying to download the latest PCL library so that I can try using their object recognition code, however I can't figure out how to properly install it.

I followed the instruction for compiling from source on the PCL website http://pointclouds.org/downloads/source.html.

"cd PCL-1.6.0 && mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. make sudo make install"

Everything seems to install fine but when I searched through the folders it generated, the file paths were all different. For example, planar_polygon.h should be in /pcl/geometery/planar_polygon.h, instead it is in pcl-1.6/pcl/geometery/include/pcl/geometery/. It seems like all the header files that my programs want are buried in sub-directories. Did I compile/make my pcl library incorrectly?

I tried manually moving the header files to where they should be but when I rosmake my program it gives me LOTS of errors. Therefore I feel as though I am installing incorrectly in some way.

Kind regards, Martin


Originally posted by MartinW on ROS Answers with karma: 464 on 2012-07-26

Post score: 3

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

As @joq says, this is a common problem.

However, it's such a common problem that we've (sort of) fixed it. Install the ros-fuerte-perception-pcl-fuerte-unstable package. This adds pcl16 and pcl16_ros packages that track PCL 1.6 (not quite to PCL 1.6.0 yet; I haven't had the chance to bump the version lately; soon!).

The namespacing, filenames, and everything else have been changed from pcl to pcl16, so you'll need to make some minor changes to your code. For example, pcl::PointCloud<pcl::PointXYZRGB> becomes pcl16::PointCloud<pcl16::PointXYZRGB>. Doing it this way lets the two PCL versions coexist nicely.


Originally posted by Mac with karma: 4119 on 2012-07-26

This answer was ACCEPTED on the original site

Post score: 5


Original comments

Comment by MartinW on 2012-07-30:
Fantastic! I've been able to download the package and all the correct files are in the folder. However, after installing and rosmaking the perception_pcl_fuerte_unstable package, the header files are still not linking correctly in my program. Is there another step I am missing during installation?

Comment by Mac on 2012-07-30:
First, I'd suggest using the binary installer, just because building is slow...but since you've done that, I'm not sure what problem you're describing. Can you post a code snippet?

Comment by MartinW on 2012-07-31:
/root/ros_workspace/my_pcl_tutorial/src/recognizer.cpp:1:29: fatal error: pcl16/io/pcd_io.h: No such file or directory. According to the rosmake error I have no such file or directory, however I checked and it is buried (quite deep) in my ros stacks directory. I'll try to binary install today

Comment by Mac on 2012-07-31:
Have you done in your manifest.xml?

Comment by MartinW on 2012-07-31:
Ahh Mac! Thank you, that is what I needed to do. I'm still so new to this type of programming/compiling that I completely forgot I had to update the manifest! :) Cheers! (Moreover, I realized that I /did/ do a binary install the first time haha)

$\endgroup$
0
$\begingroup$

Rosanswers logo

This is a frequently asked question.

Sadly, you can't run the standalone PCL library with ROS. You have to build the ROS version, which is compiled and installed differently.


Originally posted by joq with karma: 25443 on 2012-07-26

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by ctguell on 2013-10-08:
@joq I have running the pcl17 and pcl17_ros but i cant manage to crate a publisher in a person detection code, have you manage to make a pcl code from pcl17 work with ros?

Comment by joq on 2013-10-08:
PCL 1.7 is a completely different discussion, and not relevant to this question. The standalone libpcl-1.7-all-dev package is supported by ROS Hydro. Its ROS API is not compatible. Getting it to work with earlier ROS releases is challenging. For details, please ask on the PCL users mailing list.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.