pcl_ros build error in Fuerte on Fedora 17 x64
Followed the instructions for Fuerte installation on Fedora, but stuck on pcl_ros compilation with errors similar to:
/opt/ros/fuerte/include/message_filters/sync_policies/approximate_time.h:620:119: error: ‘value’ is not a member of ‘ros::message_traits::TimeStamp’
Looks like incompatibility between ROS core libraries and pcl_ros. Where I am wrong?
Versions:
- Fedora 17 x86_64 RFRemix
- pcl.x86_64 1.5.1-2.fc17 (installed by yum)
- perception_pcl 1.2.3 (pulled by rosinstall)
Full log is here (see lines 12, 13, 23 for errors)
EDIT: Tried several versions from wg-deps with no result.
The package is configured as:
cmake -G "Unix Makefiles" -DUSE_ROS=ON -DBUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release
Still it gives same 3 errors during pcl_ros compilation.
Although I found a temporary solution - convert Ubuntu DEB package with alien to RPM - I am still interested in building native package. Probably need some black magic.
EDIT #2: It all the same.
There is a strange thing in PCL sources, in common/CMakeLists.txt
to handle ROS build there is a code which excludes PointIndicies.h header from build:
if(NOT USE_ROS)
set(incs ${incs}
include/pcl/ModelCoefficients.h
include/pcl/PolygonMesh.h
include/pcl/Vertices.h
include/pcl/PointIndices.h
include/pcl/TextureMesh.h
)
set(sensor_msg_incs
include/sensor_msgs/PointField.h
include/sensor_msgs/PointCloud2.h
include/sensor_msgs/Image.h
)
set(std_msg_incs include/std_msgs/Header.h)
endif(NOT USE_ROS)
However this header is then used in common/include/pcl_base.h
and there is nothing in it to handle such situation.
At the same time PCL builds without any problems, but pcl_ros
is complaining for a missed header PointIndicies.h