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

How to solve 'pcl/features/board.h' not found?

asked 2012-09-19 02:42:56 -0600

sam gravatar image

updated 2012-09-22 22:02:30 -0600

I follow pcl recognition.

My src.

When I rosmake (full msg),it shows:

  [100%] Building CXX object CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o
    /home/sam/code/ros/pcl/pcl_3d_recognition/src/correspondence_grouping.cpp:6:32: 嚴重錯誤: pcl/features/board.h:沒有此一檔案或目錄
    編譯插斷。
    make[3]: *** [CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o] Error 1
    make[3]: Leaving directory `/home/sam/code/ros/pcl/pcl_3d_recognition/build'
    make[2]: *** [CMakeFiles/correspondence_grouping.dir/all] Error 2
    make[2]: Leaving directory `/home/sam/code/ros/pcl/pcl_3d_recognition/build'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/home/sam/code/ros/pcl/pcl_3d_recognition/build'

Sorry for my chinese output.

I failed to change to english version output by locale.

I try to run:

  export LANG=en_US
  export LC_MESSAGE=en_US.UTF-8

How to fix the pcl header not found?

Thank you~

=============================================

I try to download perception_pcl_fuerte_unstable.

And I passed the rosmake.

If my manifest change to :

  <package>
    <description brief="pcl_3d_recognition">

       pcl_3d_recognition

    </description>
    <author>ROSfuerte</author>
    <license>BSD</license>
    <review status="unreviewed" notes=""/>
    <url>http://ros.org/wiki/pcl_3d_recognition</url>
    <depend package="roscpp"/>
    <depend package="pcl16"/>
    <depend package="pcl16_ros"/>

  </package>

It will show the different error,but seems become very strange. Because even the basic header of first line(pcl/io/pcd_io.h) that also couldn't find.

The rosmake msg is (full msg):

    [100%] Building CXX object CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o
    /home/sam/code/ros/pcl/pcl_3d_recognition/src/correspondence_grouping.cpp:1:27: 嚴重錯誤: pcl/io/pcd_io.h:沒有此一檔案或目錄
    編譯插斷。
    make[3]: *** [CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o] Error 1
    make[3]: Leaving directory `/home/sam/code/ros/pcl/pcl_3d_recognition/build'
    make[2]: *** [CMakeFiles/correspondence_grouping.dir/all] Error 2
    make[2]: Leaving directory `/home/sam/code/ros/pcl/pcl_3d_recognition/build'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/home/sam/code/ros/pcl/pcl_3d_recognition/build'

If I change manifest to

  <package>
    <description brief="pcl_3d_recognition">

       pcl_3d_recognition

    </description>
    <author>ROSfuerte</author>
    <license>BSD</license>
    <review status="unreviewed" notes=""/>
    <url>http://ros.org/wiki/pcl_3d_recognition</url>
    <depend package="roscpp"/>
    <depend package="pcl"/>
    <depend package="pcl_ros"/>
    <depend package="pcl16"/>
    <depend package="pcl16_ros"/>

  </package>

It just show the first sitation of my problem I post in the beginning.

How to fix it?

Thank you~

==========================================

I only change the header to

  #include <pcl16/io/pcd_io.h>
  #include <pcl16/point_cloud.h>
  #include <pcl16/correspondence.h>
  #include <pcl16/features/normal_3d_omp.h>
  #include <pcl16/features/shot_omp.h>
  #include <pcl16/features/board.h>
  #include <pcl16/keypoints/uniform_sampling.h>
  #include <pcl16/recognition/cg/hough_3d.h>
  #include <pcl16/recognition/cg/geometric_consistency.h>
  #include <pcl16/visualization/pcl_visualizer.h>
  #include <pcl16/kdtree/kdtree_flann.h>
  #include <pcl16/kdtree/impl/kdtree_flann.hpp>
  #include <pcl16/common/transforms.h>
  #include <pcl16/console/parse.h>

But when I rosmake, it shows (full msg):

    [100%] Building CXX object CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o
    In file included from /home/sam/code/ros/pcl/perception_pcl_unstable/pcl16/include/pcl-1.6/pcl16/point_representation.h:42:0,
                     from /home/sam/code/ros/pcl/perception_pcl_unstable/pcl16/include/pcl-1.6/pcl16/kdtree/kdtree.h:46,
                     from /home/sam/code/ros/pcl/perception_pcl_unstable ...
(more)
edit retag flag offensive close merge delete

Comments

I have rosmake it success. But when I add dependency pcl16 and pcl16_ros, it still say the same problem. What to do next? Thank you~

sam gravatar image sam  ( 2012-09-20 03:00:28 -0600 )edit
1

Please either remove all non-erroneous output from your question or use such services as pastebin for providing full log and source files. The text of you question is a way too long now, which makes it very difficult to read.

Boris gravatar image Boris  ( 2012-09-20 19:47:55 -0600 )edit

Yes, I believe it is another problem. Most probably you need to install development version of VTK, if under Ubuntu try something like sudo apt-get vtk-dev. However it is not ROS-related question, so you have to ask it on PCL forums.

Boris gravatar image Boris  ( 2012-09-23 01:01:25 -0600 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2012-09-20 03:56:04 -0600

updated 2012-09-22 19:46:48 -0600

According to this post you need experimental version of pcl. So see also http://answers.ros.org/question/36837/how-to-use-current-experimental-pcl-together-with-ros-fuerte/


EDIT #1 (THIS ONE IS NOT NECESSARY)

I think you have to use this repository. Once you check the code out replace SVN_URL variable in perception_pcl_unstable/pcl16/Makefile like:

SVN_URL = http://svn.pointclouds.org/pcl/trunk

This will checkout experimental pcl version (see relevant section here) during rosmake and the mentioned Makefile will put it in pcl16 namespace.

Hope it helps.

EDIT#2 (modified)

Everything of experimental pcl not only in a different namespace, but also all the headers in different root folder, i.e. pcl17. That is to make both versions of pcl (standard and experimental) available to user.

Thus, you should change all includes in you example code from

#include <pcl/io/pcd_io.h>

to

#include <pcl17/io/pcd_io.h>

as stated in section Integration with ROS.

Sorry for confusion, I should have given you this one at the beginning.


EDIT #3

Checkout code from same repository and do everything you did before, but for pcl17 instead of pcl16. pcl17 already has a correct SVN_URL in the Makefile to checkout experimental code.

edit flag offensive delete link more

Comments

Is that equal to perception_pcl_fuerte_unstable?

sam gravatar image sam  ( 2012-09-20 16:18:32 -0600 )edit

I'm not sure, but if pcl16/Makefile is similar to this one, then probably yes.

Boris gravatar image Boris  ( 2012-09-20 16:54:16 -0600 )edit

I have edit my original post. What can I do next? Thank you~

sam gravatar image sam  ( 2012-09-20 18:00:18 -0600 )edit

I have changed headers and edit my original post. What can I do next? Thank you~

sam gravatar image sam  ( 2012-09-20 19:34:23 -0600 )edit
1

It is not necessary to post comments here as all interested users will receive notification and will answer if they can.

Boris gravatar image Boris  ( 2012-09-20 19:50:46 -0600 )edit

I found I linked but it seems eigen lib is missing at compilaton.

ZsurzsaLaszlo gravatar image ZsurzsaLaszlo  ( 2013-06-14 01:02:54 -0600 )edit

Question Tools

Stats

Asked: 2012-09-19 02:42:56 -0600

Seen: 2,731 times

Last updated: Sep 22 '12