cyglidar_d1
cyglidar_d1 copied to clipboard
cannot catkin build on noetic - PCL errors
Hello,
I am trying to build the ROS driver on ROS Noetic, standard PCL libs:
# dpkg -l | grep pcl
ii libdapclient6v5:amd64 3.20.5-1 amd64 Client library for the Network Data Access Protocol
ii libpcl-apps1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - apps library
ii libpcl-common1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - common library
ii libpcl-dev 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - development files
ii libpcl-features1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - features library
ii libpcl-filters1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - filters library
ii libpcl-io1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - I/O library
ii libpcl-kdtree1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - kdtree library
ii libpcl-keypoints1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - keypoints library
ii libpcl-ml1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - ml library
ii libpcl-octree1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - octree library
ii libpcl-outofcore1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - outofcore library
ii libpcl-people1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - people library
ii libpcl-recognition1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - recognition library
ii libpcl-registration1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - registration library
ii libpcl-sample-consensus1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - sample consensus library
ii libpcl-search1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - search library
ii libpcl-segmentation1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - segmentation library
ii libpcl-stereo1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - stereo library
ii libpcl-surface1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - surface library
ii libpcl-tracking1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - tracking library
ii libpcl-visualization1.10:amd64 1.10.0+dfsg-5ubuntu1 amd64 Point Cloud Library - visualization library
ii ros-noetic-jsk-recognition-msgs 1.2.15-1focal.20210922.202920 amd64 ROS messages for jsk_pcl_ros and jsk_perception.
ii ros-noetic-pcl-conversions 1.7.3-1focal.20210922.202829 amd64 Provides conversions from PCL data types and ROS message types
ii ros-noetic-pcl-msgs 0.3.0-1focal.20210922.202625 amd64 Package containing PCL (Point Cloud Library)-related ROS messages.
ii ros-noetic-pcl-ros 1.7.3-1focal.20211007.212250 amd64 PCL (Point Cloud Library) ROS interface stack.
ii ros-noetic-perception-pcl 1.7.3-1focal.20211007.215824 amd64 PCL (Point Cloud Library) ROS interface stack.
I get a lot of errors from catkin build, cannot post all of them.
Here is a typical error in output:
usr/include/pcl-1.10/pcl/point_types.h: In function ‘const pcl::ESFSignature640& pcl::common::operator+=(pcl::ESFSignature640&, const float&)’:
/usr/include/pcl-1.10/pcl/point_types.h:641:1: error: ‘plusscalar’ is not a member of ‘pcl::traits’
POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::ESFSignature640,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/pcl-1.10/pcl/point_types.h:44,
from /usr/include/pcl-1.10/pcl/common/impl/copy_point.hpp:41,
from /usr/include/pcl-1.10/pcl/common/copy_point.h:58,
from /usr/include/pcl-1.10/pcl/common/impl/io.hpp:45,
from /usr/include/pcl-1.10/pcl/common/io.h:586,
from /usr/include/pcl-1.10/pcl/io/file_io.h:41,
from /usr/include/pcl-1.10/pcl/io/pcd_io.h:44,
from /opt/ros/noetic/include/pcl_conversions/pcl_conversions.h:70,
from /root/sensors_ws/src/cyglidar_d1/include/cyglidar_pcl.h:6,
from /root/sensors_ws/src/cyglidar_d1/src/cyglidar_pcl.cpp:1:
I know there is a PCL related problem in noetic.
We plan to make corrections in this regard. Please wait a little bit.
thank you.
I resolved this issue by compiling with c++17, but I hear c++14 can also work.
@brawner yes, thank you! building with c++14 works