ros-perception / pcl_conversions

[deprecated] pcl_conversions has moved to https://github.com/ros-perception/perception_pcl
10 stars 26 forks source link

Build pcl_conversion in Groovy against PCL 1.7 #8

Closed Sanic closed 10 years ago

Sanic commented 10 years ago

Hi,

i am currently trying to build a PCL Overlay to work with PCL 1.7 under ROS Groovy. I therefore did the following steps (thanks to some mailinglist posts) :

mkdir -p ~/pcl_ws/src
cd ~/pcl_ws/src/
wstool init
git clone https://github.com/ros-perception/perception_pcl.git -b groovy-unstable-devel
cd perception_pcl
git clone https://github.com/ros-perception/pcl_conversions.git -b groovy-devel
git clone https://github.com/ros-perception/pcl_msgs.git
cd ~/pcl_ws
source /opt/ros/groovy/setup.bash
catkin_make_isolated --install

PCL seems to build fine so far, but the compilation of pcl_conversion breaks with a couple of similar errors messages. Here is the first one of them:

Wrote header file in /home/xxxx/pcl_ws/devel_isolated/pcl_ros/include/pcl_ros/SegmentDifferencesConfig.h
[ 38%] Generating dynamic reconfigure files from cfg/StatisticalOutlierRemoval.cfg: 
/home/xxxx/pcl_ws/devel_isolated/pcl_ros/include/pcl_ros/StatisticalOutlierRemovalConfig.h /home/xxxx/pcl_ws/devel_isolated/pcl_ros/lib/python2.7/dist-packages/pcl_ros/cfg/StatisticalOutlierRemovalConfig.py
Generating reconfiguration files for StatisticalOutlierRemoval in pcl_ros
Wrote header file in /home/xxxx/pcl_ws/devel_isolated/pcl_ros/include/pcl_ros/StatisticalOutlierRemovalConfig.h
[ 40%] Generating dynamic reconfigure files from cfg/VoxelGrid.cfg: /home/xxxx/pcl_ws/devel_isolated/pcl_ros/include/pcl_ros/VoxelGridConfig.h /home/xxxx/pcl_ws/devel_isolated/pcl_ros/lib/python2.7/dist-packages/pcl_ros/cfg/VoxelGridConfig.py
Generating reconfiguration files for VoxelGrid in pcl_ros
Wrote header file in /home/xxxx/pcl_ws/devel_isolated/pcl_ros/include/pcl_ros/VoxelGridConfig.h
[ 40%] Built target pcl_ros_gencfg
[ 42%] Building CXX object CMakeFiles/pcl_ros_features.dir/src/pcl_ros/features/boundary.cpp.o
In file included from /home/xxxx/pcl_ws/src/perception_pcl/pcl_ros/include/pcl_ros/pcl_nodelet.h:53:0,
                 from /home/xxxx/pcl_ws/src/perception_pcl/pcl_ros/include/pcl_ros/surface/convex_hull.h:41,
                 from /home/xxxx/pcl_ws/src/perception_pcl/pcl_ros/src/pcl_ros/surface/convex_hull.cpp:40:
/home/xxxx/pcl_ws/src/perception_pcl/pcl_ros/include/pcl_ros/point_cloud.h: In static member function ‘static ros::Time* ros::message_traits::TimeStamp<pcl::PointCloud<pcl::PointXYZ> >::pointer(pcl::PointCloud<pcl::PointXYZ>&)’:
/home/xxxx/pcl_ws/src/perception_pcl/pcl_ros/include/pcl_ros/point_cloud.h:126:54: error: no matching function for call to ‘fromPCL(pcl::PCLHeader&, std_msgs::Header_<std::allocator<void> >&)’
/home/xxxx/pcl_ws/src/perception_pcl/pcl_ros/include/pcl_ros/point_cloud.h:126:54: note: candidates are:
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:63:8: note: void pcl_conversions::fromPCL(const Header&, std_msgs::Header&)
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:63:8: note:   no known conversion for argument 1 from ‘pcl::PCLHeader’ to ‘const Header& {aka const std_msgs::Header_<std::allocator<void> >&}’
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:75:20: note: std_msgs::Header pcl_conversions::fromPCL(const Header&)
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:75:20: note:   candidate expects 1 argument, 2 provided
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:100:8: note: void pcl_conversions::fromPCL(const Image&, sensor_msgs::Image&)
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:100:8: note:   no known conversion for argument 1 from ‘pcl::PCLHeader’ to ‘const Image& {aka const sensor_msgs::Image_<std::allocator<void> >&}’
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:139:8: note: void pcl_conversions::fromPCL(const PointField&, sensor_msgs::PointField&)
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:139:8: note:   no known conversion for argument 1 from ‘pcl::PCLHeader’ to ‘const PointField& {aka const sensor_msgs::PointField_<std::allocator<void> >&}’
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:145:8: note: void pcl_conversions::fromPCL(const std::vector<sensor_msgs::PointField_<std::allocator<void> > >&, std::vector<sensor_msgs::PointField_<std::allocator<void> > >&)
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:145:8: note:   no known conversion for argument 1 from ‘pcl::PCLHeader’ to ‘const std::vector<sensor_msgs::PointField_<std::allocator<void> > >&’
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:178:8: note: void pcl_conversions::fromPCL(const PointCloud2&, sensor_msgs::PointCloud2&)
/home/xxxx/pcl_ws/install_isolated/include/pcl_conversions/pcl_conversions.h:178:8: note:   no known conversion for argument 1 from ‘pcl::PCLHeader’ to ‘const PointCloud2& {aka const sensor_msgs::PointCloud2_<std::allocator<void> >&}’

Does somebody know what causes this?

wjwwood commented 10 years ago

Sorry, I don't have any experience in using PCL 1.7 in Groovy, I would recommend using Hydro if you need PCL 1.7. Perhaps someone else has experience integrating the two though.

LiliMeng commented 10 years ago

How to use PCL1.7 in Groovy: It has been tested successfully :)

$ mkdir -p pcl_ws/src $ cd pcl_ws/src $ git clone https://github.com/ros-perception/perception_pcl.git -b groovy-unstable-devel $ cd perception_pcl $ git checkout 528328f $ cd .. $ catkin_init_workspace $ cd .. $ catkin_make_isolated [above step takes awhile] $ cd $ vim .rosinstall change this line:

$ rosmake file

okarabay commented 10 years ago

running catkin_make_isolated fails and gives make errors and says: Failed to processs package 'pcl'

wjwwood commented 10 years ago

Please ask new questions on answers.ros.org.

And when you do, please include more information, we cannot do infer anything from "fails and gives make errors and says: Failed to processs package 'pcl'".