CygLiDAR-ROS / cyglidar_d1

CygLiDAR D1 - ROS(SDK) Package (ROS1 / ROS2)
https://www.cygbot.com/
BSD 3-Clause "New" or "Revised" License
21 stars 25 forks source link

cannot catkin build on noetic - PCL errors #18

Open asimonov opened 2 years ago

asimonov commented 2 years ago

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:
cygbot commented 2 years ago

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.

brawner commented 2 years ago

I resolved this issue by compiling with c++17, but I hear c++14 can also work.

asimonov commented 2 years ago

@brawner yes, thank you! building with c++14 works