introlab / rtabmap

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

Build error eigen Plugins #1283

Open adricort opened 1 month ago

adricort commented 1 month ago

I am trying to build rtabmap and rtabmap_ros from source (rolling, I know binaries are not passing) as indicated in the instructions, but 2 things happen:

  1. I get the following error:

Starting >>> grid_map_ros --- stderr: rtabmap
CMake Deprecation Warning at examples/LidarMapping/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 value or use a ... suffix to tell

CMake that the project does not need compatibility with older versions.

: fatal error: grid_map_core/eigen_plugins/FunctorsPlugin.hpp: No such file or directory compilation terminated. : fatal error: grid_map_core/eigen_plugins/FunctorsPlugin.hpp: No such file or directory compilation terminated. : fatal error: grid_map_core/eigen_plugins/FunctorsPlugin.hpp: No such file or directory gmake[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:146: corelib/src/CMakeFiles/rtabmap_core.dir/Memory.cpp.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... gmake[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:118: corelib/src/CMakeFiles/rtabmap_core.dir/RtabmapThread.cpp.o] Error 1 compilation terminated. gmake[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:104: corelib/src/CMakeFiles/rtabmap_core.dir/Rtabmap.cpp.o] Error 1 : fatal error: grid_map_core/eigen_plugins/FunctorsPlugin.hpp: No such file or directory compilation terminated. gmake[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:174: corelib/src/CMakeFiles/rtabmap_core.dir/DBDriverSqlite3.cpp.o] Error 1 : fatal error: grid_map_core/eigen_plugins/FunctorsPlugin.hpp: No such file or directory compilation terminated. gmake[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:160: corelib/src/CMakeFiles/rtabmap_core.dir/DBDriver.cpp.o] Error 1 : fatal error: grid_map_core/eigen_plugins/FunctorsPlugin.hpp: No such file or directory compilation terminated. gmake[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:132: corelib/src/CMakeFiles/rtabmap_core.dir/Statistics.cpp.o] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:894: corelib/src/CMakeFiles/rtabmap_core.dir/all] Error 2 gmake: *** [Makefile:156: all] Error 2 --- Failed <<< rtabmap [6.81s, exited with code 2]

Is there any modification in the package for it to find the eigen plugins properly? I haven't found so much documentation about it, only here, but I think it is another problem.

  1. (maybe not important at the moment) libpointmatcher can't be resolved for the dependencies for jammy, is it required?
matlabbe commented 1 month ago

The error seems coming from grid_map_core. You can disable that dependency with cmake -DWITH_GRIDMAP=OFF ... Thanks for the link, if I can reproduce it I could give a try. What is your machine? Ubuntu 22.04 with ROS2 Humble? From CI, rtabmap should build on jammy/humble even with ros-humble-grid-map-core dependency, see log here: https://github.com/introlab/rtabmap/actions/runs/9238128356/job/25415869022

libpointmatcher from ros-humble-libpointmatcher should also work.