Open adricort opened 6 months 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.
Hi, I had the same issue when linking against rtabmap
from official ROS apt, it seems that this issue is related to https://github.com/ANYbotics/grid_map/issues/382
I tried building RGBDMapping example using rtabmap humble binaries and I don't see the error.
source /opt/ros/humble/setup.bash
cd rtabmap/examples/RGBDMapping
mkdir build
cd build
cmake ..
make VERBOSE=1
Here the include directories make VERBOSE=1
:
/usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DDISABLE_PCAP -DDISABLE_PNG -DEIGEN_DENSEBASE_PLUGIN=\"grid_map_core/eigen_plugins/DenseBasePlugin.hpp\" -DEIGEN_FUNCTORS_PLUGIN=\"grid_map_core/eigen_plugins/FunctorsPlugin.hpp\" -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -Dkiss_fft_scalar=double -I/home/mathieu/workspace/rtabmap/examples/RGBDMapping/build/rgbd_mapping_autogen/include -isystem /opt/ros/humble/include/rtabmap-0.21 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/opencv4 -isystem /usr/include/pcl-1.12 -isystem /usr/include/eigen3 -isystem /usr/include/ni -isystem /opt/ros/humble/include -isystem /usr/include/openni2 -isystem /usr/include/vtk-9.1 -isystem /usr/include/jsoncpp -isystem /usr/include/freetype2 -fPIC -MD -MT CMakeFiles/rgbd_mapping.dir/main.cpp.o -MF CMakeFiles/rgbd_mapping.dir/main.cpp.o.d -o CMakeFiles/rgbd_mapping.dir/main.cpp.o -c /home/mathieu/workspace/rtabmap/examples/RGBDMapping/main.cpp
I see -isystem /opt/ros/humble/include
and on my system, the files grid_map_core/eigen_plugins/DenseBasePlugin.hpp
and grid_map_core/eigen_plugins/FunctorsPlugin.hpp
are indeed located under /opt/ros/humble/include
:
$ ls /opt/ros/humble/include/grid_map_core/eigen_plugins/*
/opt/ros/humble/include/grid_map_core/eigen_plugins/DenseBasePlugin.hpp
/opt/ros/humble/include/grid_map_core/eigen_plugins/Functors.hpp
/opt/ros/humble/include/grid_map_core/eigen_plugins/FunctorsPlugin.hpp
Are the include directories different on your system?
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:
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.