ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Why can't ros_pcl detect my pcl headers when building?

asked 2015-12-19 20:36:24 -0600

Sebastian gravatar image

updated 2015-12-19 20:39:06 -0600

I am using raspberry pi and building pcl_ros from source.

I already downloaded, built and installed pcl. I believe it is installed, since there are cmake files in /usr/local/share/pcl-1.7

When I run the command:

sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --pkg pcl_ros --install-space /opt/ros/indigo

I get the following error message:

/home/pi/catkin_ws/src/perception_pcl/pcl_ros/src/pcl_ros/surface/convex_hull.cpp:40:37: fatal error: pcl/surface/convex_hull.h: No such file or directory
CMakeFiles/pcl_ros_features.dir/build.make:54: recipe for target 'CMakeFiles/pcl_ros_features.dir/src/pcl_ros/features/feature.cpp.o' failed

I also know that ~/pcl-pcl-1.7.2/ surface/include/pcl/surface/convex_hull.h exists.

I followed these instructions when building pcl from source.

Anyone know what might cause this problem?

edit retag flag offensive close merge delete

Comments

You probably have not fully built pcl because of some missing dependencies. Check if surface/convex_hull.h exist in /usr/local/include/pcl-1.7/pcl. Can you paste the output of the "cmake .." call

Humpelstilzchen gravatar image Humpelstilzchen  ( 2015-12-21 01:30:25 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
1

answered 2015-12-30 16:13:34 -0600

Sebastian gravatar image

updated 2015-12-30 16:13:50 -0600

I just copied the missing .h file from ~/pcl-pcl-1.7.2/ to /usr/local/include/pcl-1.7/pcl/surface/convex_hull.h

Apparently just one file was not installed. Might be a mistake in the pcl source. Not sure what else might have caused it.

edit flag offensive delete link more

Comments

Nice! You should open a ticket in PCL ( https://github.com/PointCloudLibrary/pcl )

paulbovbel gravatar image paulbovbel  ( 2016-01-10 18:57:16 -0600 )edit
-1

answered 2015-12-28 07:36:27 -0600

paulbovbel gravatar image

When the pcl_ros CMakeLists pulls in pcl (via find_package), it does not know to look in ~/pcl-* for your PCL headers.

One approach would be to install PCL by running sudo make install wherever you had built it from source.

edit flag offensive delete link more

Comments

If he has /usr/local/share/pcl-1.7 then there is a high chance he already did execute make install..

Humpelstilzchen gravatar image Humpelstilzchen  ( 2015-12-28 08:45:24 -0600 )edit

I did run sudo make install. See my answer.

Sebastian gravatar image Sebastian  ( 2015-12-30 16:10:53 -0600 )edit

Missed that, my bad

paulbovbel gravatar image paulbovbel  ( 2016-01-10 18:57:59 -0600 )edit

Question Tools

Stats

Asked: 2015-12-19 20:36:24 -0600

Seen: 2,194 times

Last updated: Dec 30 '15