introlab / rtabmap

RTAB-Map library and standalone application
https://introlab.github.io/rtabmap
Other
2.85k stars 787 forks source link

PCL requirements? #769

Closed parkerlreed closed 3 years ago

parkerlreed commented 3 years ago

Arch Linux

pcl 1.12 and pcl master are both not working for compilation currently.

1.12

[ 22%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/util3d_correspondences.cpp.o
In file included from /home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/pcl18/surface/texture_mapping.h:473,
                 from /home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/util3d_surface.cpp:48:
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/pcl18/surface/impl/texture_mapping.hpp: In member function ‘bool pcl::TextureMapping<PointInT>::textureMeshwithMultipleCameras2(pcl::TextureMesh&, const CameraVector&, const rtabmap::ProgressState*, std::vector<std::map<int, pcl::PointXY> >*)’:
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/pcl18/surface/impl/texture_mapping.hpp:1142:59: error: ‘getAngle3D’ is not a member of ‘pcl’
 1142 |                                         angleToCam = pcl::getAngle3D(Eigen::Vector4f(normal3D[0], normal3D[1], normal3D[2], 0.0f), Eigen::Vector4f(0.0f,0.0f,-1.0f,0.0f));
      |                                                           ^~~~~~~~~~
[ 22%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/util3d_motion_estimation.cpp.o
[ 23%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/SensorData.cpp.o
make[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:711: corelib/src/CMakeFiles/rtabmap_core.dir/util3d_surface.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:790: corelib/src/CMakeFiles/rtabmap_core.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

master

[  7%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/DBDriver.cpp.o
In file included from /home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/util3d_surface.h:475,
                 from /home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/Memory.cpp:51:
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp: In function ‘void rtabmap::util3d::denseMeshPostProcessing(pcl::PolygonMeshPtr&, float, int, const typename pcl::PointCloud<PointT>::Ptr&, float, bool, bool, int, rtabmap::ProgressState*)’:
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:108:22: error: ‘fromPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  108 |                 pcl::fromPCLPointCloud2(mesh->cloud, *coloredCloud);
      |                      ^~~~~~~~~~~~~~~~~~
      |                      PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:153:22: error: ‘toPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  153 |                 pcl::toPCLPointCloud2(*coloredCloud, mesh->cloud);
      |                      ^~~~~~~~~~~~~~~~
      |                      PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:247:30: error: ‘fromPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  247 |                         pcl::fromPCLPointCloud2(mesh->cloud, *cloud);
      |                              ^~~~~~~~~~~~~~~~~~
      |                              PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:285:30: error: ‘toPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  285 |                         pcl::toPCLPointCloud2 (*cloud, mesh->cloud);
      |                              ^~~~~~~~~~~~~~~~
      |                              PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:290:30: error: ‘fromPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  290 |                         pcl::fromPCLPointCloud2(mesh->cloud, *cloud);
      |                              ^~~~~~~~~~~~~~~~~~
      |                              PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:315:30: error: ‘toPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  315 |                         pcl::toPCLPointCloud2 (*cloud, mesh->cloud);
      |                              ^~~~~~~~~~~~~~~~
      |                              PCLPointCloud2
[  8%] Linking CXX executable /home/parker/build/ros-noetic-rtabmap/src/rtabmap/bin/rtabmap-extractObject
[  8%] Built target extractObject
[  8%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/DBDriverSqlite3.cpp.o
make[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:123: corelib/src/CMakeFiles/rtabmap_core.dir/Memory.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:790: corelib/src/CMakeFiles/rtabmap_core.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

CMake output

CMake Deprecation Warning at CMakeLists.txt:3 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:64 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at CMakeLists.txt:67 (cmake_policy):
  The OLD behavior for policy CMP0043 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- Checking for module 'eigen3'
--   Found eigen3, version 3.4.0
-- Found Eigen: /usr/include/eigen3 (Required is at least version "3.1") 
-- Eigen found (include: /usr/include/eigen3, version: 3.4.0)
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (libusb-1.0)
  does not match the name of the calling package (PCL).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:288 (find_package_handle_standard_args)
  /usr/share/pcl-1.11/PCLConfig.cmake:335 (find_libusb)
  /usr/share/pcl-1.11/PCLConfig.cmake:543 (find_external_library)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found libusb-1.0: /usr/include  
-- Checking for module 'flann'
--   Found flann, version 1.9.1
-- Found FLANN: /usr/lib/libflann_cpp.so  
-- Found Qhull: optimized;/usr/lib/libqhull.so;debug;/usr/lib/libqhull.so  
-- QHULL found (include: /usr/include, lib: optimized;/usr/lib/libqhull.so;debug;/usr/lib/libqhull.so)
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PCL_COMMON)
  does not match the name of the calling package (PCL).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_COMMON: /usr/lib/libpcl_common.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PCL_OCTREE)
  does not match the name of the calling package (PCL).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_OCTREE: /usr/lib/libpcl_octree.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PCL_IO)
  does not match the name of the calling package (PCL).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_IO: /usr/lib/libpcl_io.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PCL_KDTREE)
  does not match the name of the calling package (PCL).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_KDTREE: /usr/lib/libpcl_kdtree.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PCL_SEARCH)
  does not match the name of the calling package (PCL).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_SEARCH: /usr/lib/libpcl_search.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`
  (PCL_SURFACE) does not match the name of the calling package (PCL).  This
  can lead to problems in calling code that expects `find_package` result
  variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_SURFACE: /usr/lib/libpcl_surface.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`
  (PCL_FILTERS) does not match the name of the calling package (PCL).  This
  can lead to problems in calling code that expects `find_package` result
  variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_FILTERS: /usr/lib/libpcl_filters.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PCL_2D)
  does not match the name of the calling package (PCL).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:614 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_2D: /usr/include/pcl-1.11  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`
  (PCL_FEATURES) does not match the name of the calling package (PCL).  This
  can lead to problems in calling code that expects `find_package` result
  variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_FEATURES: /usr/lib/libpcl_features.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`
  (PCL_REGISTRATION) does not match the name of the calling package (PCL).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_REGISTRATION: /usr/lib/libpcl_registration.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`
  (PCL_SAMPLE_CONSENSUS) does not match the name of the calling package
  (PCL).  This can lead to problems in calling code that expects
  `find_package` result variables (e.g., `_FOUND`) to follow a certain
  pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_SAMPLE_CONSENSUS: /usr/lib/libpcl_sample_consensus.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`
  (PCL_GEOMETRY) does not match the name of the calling package (PCL).  This
  can lead to problems in calling code that expects `find_package` result
  variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:614 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_GEOMETRY: /usr/include/pcl-1.11  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PCL_ML)
  does not match the name of the calling package (PCL).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_ML: /usr/lib/libpcl_ml.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`
  (PCL_SEGMENTATION) does not match the name of the calling package (PCL).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_SEGMENTATION: /usr/lib/libpcl_segmentation.so  
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args`
  (PCL_VISUALIZATION) does not match the name of the calling package (PCL).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/pcl-1.11/PCLConfig.cmake:611 (find_package_handle_standard_args)
  CMakeLists.txt:213 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PCL_VISUALIZATION: /usr/lib/libpcl_visualization.so  
-- PCL definitions don't contain "-march=native", make sure all libraries using Eigen are also compiled without that flag to avoid some segmentation faults (with gdb referring to some Eigen functions).
-- Found Sqlite3: /usr/include /usr/lib/libsqlite3.so
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (OpenMP_C)
  does not match the name of the calling package (OpenMP).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/lib/cmake/vtk-8.2/vtkm/FindOpenMP.cmake:485 (find_package_handle_standard_args)
  CMakeLists.txt:246 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found OpenMP_C: -fopenmp (found version "4.5") 
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (OpenMP_CXX)
  does not match the name of the calling package (OpenMP).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/lib/cmake/vtk-8.2/vtkm/FindOpenMP.cmake:485 (find_package_handle_standard_args)
  CMakeLists.txt:246 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Found OpenMP
-- Found OpenCV: /usr/include/opencv4
-- Found PCL: /usr/include/pcl-1.11;/usr/include/eigen3;/usr/include;/usr/include/vtk;/usr/include/freetype2;/usr/include/double-conversion
-- Found ZLIB: /usr/include
-- VTK_RENDERING_BACKEND=OpenGL2
-- Found Freenect: /usr/include/libfreenect
-- Found freenect2: /usr/include
-- Found OpenNI2: /usr/include/openni2
-- Found DC1394: /usr/include/dc1394
CMake Warning (dev) at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (CSPARSE)
  does not match the name of the calling package (G2O).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake_modules/FindG2O.cmake:8 (find_package_handle_standard_args)
  CMakeLists.txt:402 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found CSPARSE: /usr/include  
CMake Warning at cmake_modules/FindG2O.cmake:122 (MESSAGE):
  Latest g2o version detected with c++11 interface (config file:
  /usr/include/g2o/config.h).  Make sure g2o is built with
  "-DBUILD_WITH_MARCH_NATIVE=OFF" to avoid segmentation faults caused by
  Eigen.
Call Stack (most recent call first):
  CMakeLists.txt:402 (FIND_PACKAGE)

-- Found g2o: /usr/include;/usr/include;/usr/include
-- GTSAM include directory:  /usr/lib64/cmake/GTSAM/../../../include
-- FlyCapture2_INCLUDE_DIR=FlyCapture2_INCLUDE_DIR-NOTFOUND
-- FlyCapture2_LIBRARY=FlyCapture2_LIBRARY-NOTFOUND
-- Triclops_INCLUDE_DIR=Triclops_INCLUDE_DIR-NOTFOUND
-- Triclops_LIBRARY=Triclops_LIBRARY-NOTFOUND
-- FlyCaptureBridge_LIBRARY=FlyCaptureBridge_LIBRARY-NOTFOUND
-- Found libpointmatcher: /usr/include;/usr/include/eigen3
-- Found octomap 1.9.7: /usr/include
-- Architecture: x86_64
-- Performing Test COMPILER_SUPPORTS_CXX14
-- Performing Test COMPILER_SUPPORTS_CXX14 - Success
-- Found Pthreads
CMake Warning (dev) at /usr/lib64/cmake/Qt5Core/Qt5CoreMacros.cmake:44 (message):
  qt5_use_modules is not part of the official API, and might be removed in Qt
  6.
Call Stack (most recent call first):
  /usr/lib64/cmake/Qt5Core/Qt5CoreMacros.cmake:431 (_qt5_warn_deprecated)
  guilib/src/CMakeLists.txt:203 (QT5_USE_MODULES)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib64/cmake/Qt5Core/Qt5CoreMacros.cmake:44 (message):
  qt5_use_modules is not part of the official API, and might be removed in Qt
  6.
Call Stack (most recent call first):
  /usr/lib64/cmake/Qt5Core/Qt5CoreMacros.cmake:431 (_qt5_warn_deprecated)
  app/src/CMakeLists.txt:78 (QT5_USE_MODULES)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Deprecation Warning at tools/KittiDataset/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at tools/KittiDataset/CMakeLists.txt:14 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at tools/RgbdDataset/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at tools/RgbdDataset/CMakeLists.txt:14 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at tools/EurocDataset/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at tools/EurocDataset/CMakeLists.txt:30 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at tools/Recovery/CMakeLists.txt:12 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at tools/Reprocess/CMakeLists.txt:12 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at tools/DetectMoreLoopClosures/CMakeLists.txt:12 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at tools/Report/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at tools/Report/CMakeLists.txt:15 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at tools/Info/CMakeLists.txt:12 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at examples/BOWMapping/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/BOWMapping/CMakeLists.txt:27 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at examples/RGBDMapping/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/RGBDMapping/CMakeLists.txt:41 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at examples/WifiMapping/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/WifiMapping/CMakeLists.txt:35 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at examples/NoEventsExample/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/NoEventsExample/CMakeLists.txt:35 (cmake_policy):
  The OLD behavior for policy CMP0020 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- --------------------------------------------
-- Info :
--   Version : 0.20.0
--   CMAKE_INSTALL_PREFIX = /usr
--   CMAKE_BUILD_TYPE =     Release
--   CMAKE_INSTALL_LIBDIR = lib
--   BUILD_APP =            ON
--   BUILD_TOOLS =          ON
--   BUILD_EXAMPLES =       ON
--   BUILD_SHARED_LIBS =    ON
--   CMAKE_CXX_FLAGS = -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fmessage-length=0  -fopenmp -std=c++14
--   FLANN_KDTREE_MEM_OPT = OFF
--   PCL_DEFINITIONS = -DDISABLE_OPENNI2;-DDISABLE_PCAP;-DDISABLE_PNG;-DDISABLE_LIBUSB_1_0
--   PCL_VERSION = 1.11.1
-- 
-- Optional dependencies ('*' affects some default parameters) :
--  *With OpenCV 4.5.3 xfeatures2d = YES, nonfree = YES (License: Non commercial)
--   With Qt 5.15.2            = YES (License: Open Source or Commercial)
--   With VTK 8.2              = YES (License: BSD)
--   With external SQLite3     = YES (License: Public Domain)
--   With ORB OcTree           = YES (License: GPLv3)
--   With SupertPoint          = NO (libtorch not found)
--   With Python3              = NO (WITH_PYMATCHER=OFF)
--   With Madgwick             = YES (License: GPL)
--   With FastCV               = NO (FastCV not found)
-- 
--  Solvers:
--   With TORO                 = YES (License: Creative Commons [Attribution-NonCommercial-ShareAlike])
--  *With g2o                  = YES (License: BSD)
--  *With GTSAM                = YES (License: BSD)
--  *With Ceres                = NO (Ceres not found)
--   With VERTIGO              = YES (License: GPLv3)
--   With cvsba                = NO (cvsba not found)
--  *With libpointmatcher      = YES (License: BSD)
-- 
--  Reconstruction Approaches:
--   With OCTOMAP              = YES (License: BSD)
--   With CPUTSDF              = NO (CPUTSDF not found)
--   With OpenChisel           = NO (open_chisel not found)
--   With AliceVision          = NO (WITH_ALICE_VISION=OFF)
-- 
--  Camera Drivers:
--   With Freenect             = YES (License: Apache v2 and/or GPLv2)
--   With OpenNI2              = YES (License: Apache v2)
--   With Freenect2            = YES (License: Apache v2 and/or GPLv2)
--   With Kinect for Windows 2 = NO (Kinect for Windows 2 SDK not found)
--   With Kinect for Azure     = NO (Kinect for Azure SDK not found)
--   With dc1394               = YES (License: LGPL)
--   With FlyCapture2/Triclops = NO (Point Grey SDK not found)
--   With ZED                  = NO (ZED sdk and/or cuda not found)
--   With RealSense            = NO (librealsense not found)
--   With RealSense2           = NO (librealsense2 not found)
--   With MyntEyeS             = NO (mynteye s sdk not found)
-- 
--  Odometry Approaches:
--   With loam_velodyne        = NO (loam_velodyne not found)
--   With libfovis             = NO (libfovis not found)
--   With libviso2             = NO (libviso2 not found)
--   With dvo_core             = NO (dvo_core not found)
--   With okvis                = NO (okvis not found)
--   With msckf_vio            = NO (WITH_MSCKF_VIO=OFF)
--   With VINS-Fusion          = NO (VINS-Fusion not found)
--   With ORB_SLAM2            = NO (WITH_G2O should be OFF as ORB_SLAM2 uses its own g2o version)
-- Show all options with: cmake -LA | grep WITH_
-- --------------------------------------------
-- Configuring done
-- Generating done
parkerlreed commented 3 years ago

I realized I mistakenly built 1.11. Compiling and retesting with 1.12 now.

parkerlreed commented 3 years ago

Same error as master on 1.12

[  8%] Linking CXX executable /home/parker/build/ros-noetic-rtabmap/src/rtabmap/bin/rtabmap-extractObject
In file included from /home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/util3d_surface.h:475,
                 from /home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/Memory.cpp:51:
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp: In function ‘void rtabmap::util3d::denseMeshPostProcessing(pcl::PolygonMeshPtr&, float, int, const typename pcl::PointCloud<PointT>::Ptr&, float, bool, bool, int, rtabmap::ProgressState*)’:
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:108:22: error: ‘fromPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  108 |                 pcl::fromPCLPointCloud2(mesh->cloud, *coloredCloud);
      |                      ^~~~~~~~~~~~~~~~~~
      |                      PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:153:22: error: ‘toPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  153 |                 pcl::toPCLPointCloud2(*coloredCloud, mesh->cloud);
      |                      ^~~~~~~~~~~~~~~~
      |                      PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:247:30: error: ‘fromPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  247 |                         pcl::fromPCLPointCloud2(mesh->cloud, *cloud);
      |                              ^~~~~~~~~~~~~~~~~~
      |                              PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:285:30: error: ‘toPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  285 |                         pcl::toPCLPointCloud2 (*cloud, mesh->cloud);
      |                              ^~~~~~~~~~~~~~~~
      |                              PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:290:30: error: ‘fromPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  290 |                         pcl::fromPCLPointCloud2(mesh->cloud, *cloud);
      |                              ^~~~~~~~~~~~~~~~~~
      |                              PCLPointCloud2
/home/parker/build/ros-noetic-rtabmap/src/rtabmap/corelib/src/../include/rtabmap/core/impl/util3d_surface.hpp:315:30: error: ‘toPCLPointCloud2’ is not a member of ‘pcl’; did you mean ‘PCLPointCloud2’?
  315 |                         pcl::toPCLPointCloud2 (*cloud, mesh->cloud);
      |                              ^~~~~~~~~~~~~~~~
      |                              PCLPointCloud2
[  8%] Built target extractObject
[  8%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/DBDriverSqlite3.cpp.o
make[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:123: corelib/src/CMakeFiles/rtabmap_core.dir/Memory.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
matlabbe commented 3 years ago

Cannot reproduce the problem with PCL 1.12 and pcl master:

./rtabmap --version 
RTAB-Map:              0.20.13
PCL:                    1.12.0
With VTK:                9.0.1
OpenCV:                  4.2.0
With OpenCV xfeatures2d: false
With OpenCV nonfree:     false
With ORB OcTree:          true
With SuperPoint Torch:   false
With Python3:            false
With FastCV:             false
With Madgwick:            true
With TORO:                true
With g2o:                 true
With GTSAM:               true
With Vertigo:             true
With CVSBA:              false
With Ceres:               true
With OpenNI2:             true
With Freenect:            true
With Freenect2:           true
With K4W2:               false
With K4A:                 true
With DC1394:              true
With FlyCapture2:        false
With ZED:                 true
With ZED Open Capture:   false
With RealSense:          false
With RealSense SLAM:     false
With RealSense2:         false
With MYNT EYE S:         false
With DepthAI:             true
With libpointmatcher:     true
With CCCoreLib:           true
With octomap:             true
With cpu-tsdf:           false
With open chisel:        false
With Alice Vision:       false
With LOAM:               false
With FOVIS:              false
With Viso2:              false
With DVO:                false
With ORB_SLAM:           false
With OKVIS:              false
With MSCKF_VIO:          false
With VINS-Fusion:        false
With OpenVINS:           false

There is maybe a problem with the include paths, because pcl::fromPCLPointCloud2 and pcl::toPCLPointCloud2 do really exist in the include path here: https://github.com/introlab/rtabmap/blob/c43118cde89b6e1bbb3a7ade6875fc7ee488f9a1/corelib/include/rtabmap/core/impl/util3d_surface.hpp#L12 conversions.h: https://github.com/PointCloudLibrary/pcl/blob/master/common/include/pcl/conversions.h#L166-L347

parkerlreed commented 3 years ago

Thank you for pointing out that include line. I HAD looked there earlier and it wasn't there. Realized the script I used pulled an old tag from rtabmap-releases repo, ugh. ACTUALLY building master now.

parkerlreed commented 3 years ago

Success! Thanks again.

[parker@wolfcola ros-noetic-rtabmap]$ rtabmap --version
RTAB-Map:              0.20.13
PCL:                    1.12.0
With VTK:                8.2.0
OpenCV:                  4.5.3
With OpenCV xfeatures2d:  true
With OpenCV nonfree:      true
With ORB OcTree:          true
With SuperPoint Torch:   false
With Python3:            false
With FastCV:             false
With Madgwick:            true
With TORO:                true
With g2o:                 true
With GTSAM:               true
With Vertigo:             true
With CVSBA:              false
With Ceres:              false
With OpenNI2:             true
With Freenect:            true
With Freenect2:           true
With K4W2:               false
With K4A:                false
With DC1394:              true
With FlyCapture2:        false
With ZED:                false
With ZED Open Capture:   false
With RealSense:          false
With RealSense SLAM:     false
With RealSense2:         false
With MYNT EYE S:         false
With DepthAI:            false
With libpointmatcher:     true
With CCCoreLib:          false
With octomap:             true
With cpu-tsdf:           false
With open chisel:        false
With Alice Vision:       false
With LOAM:               false
With FOVIS:              false
With Viso2:              false
With DVO:                false
With ORB_SLAM:           false
With OKVIS:              false
With MSCKF_VIO:          false
With VINS-Fusion:        false
With OpenVINS:           false