Robotics StackExchange | Archived questions

ROS2/Jammy/Humble Gazebo compilation error: fatal error: gazebo_ros/node.hpp: No such file or directory

I have a plugin project that compiles OK on ROS2/Focal/Foxy in a Docker container.

After upgrading the Docker container to ROS2/Jammy/Humble the compilation fails with "fatal error: gazeboros/node.hpp: No such file or directory". For the full compilation output: see below. However "gazeboros/node.hpp" is on the disk: see the output of "locate gazebo_ros/node.hpp" below.

I suspect that I am missing a cmake-related package or that there is a bug in an installed cmake-related package. I have installed ros-humble-desktop, ros-humble-ros-gz and ros-humble-gazebo-ros-pkgs.

Does anyone have any idea? Do I need to provide more information? If so, what?

TIA

Joost

Compilation and locate output:

user@7bff3c3fced1:/data/workspace$ colcon build --base-path src --packages-select rosgazebodemo Starting >>> rosgazebodemo --- stderr: rosgazebodemo CMake Deprecation Warning at CMakeLists.txt:1 (cmakeminimumrequired): 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.

CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message): The package name passed to findpackagehandlestandardargs (PkgConfig) does not match the name of the calling package (gazebo). This can lead to problems in calling code that expects findpackage result variables (e.g., _FOUND) to follow a certain pattern. Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:99 (findpackagehandlestandardargs) /usr/lib/x8664-linux-gnu/cmake/gazebo/gazebo-config.cmake:72 (include) CMakeLists.txt:11 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

CMake Deprecation Warning at /opt/ros/humble/share/rosidlcmake/cmake/rosidltargetinterfaces.cmake:32 (message): Use rosidlgettypesupporttarget() and targetlinklibraries() instead of rosidltargetinterfaces() Call Stack (most recent call first): CMakeLists.txt:35 (rosidltargetinterfaces)

CMake Deprecation Warning at /opt/ros/humble/share/rosidlcmake/cmake/rosidltargetinterfaces.cmake:32 (message): Use rosidlgettypesupporttarget() and targetlinklibraries() instead of rosidltargetinterfaces() Call Stack (most recent call first): CMakeLists.txt:44 (rosidltargetinterfaces)

In file included from /data/workspace/src/rosgazebodemo/src/cubelowlevel.cpp:3: /data/workspace/src/rosgazebodemo/include/cubelowlevel.hpp:10:10: fatal error: gazeboros/node.hpp: No such file or directory 10 | #include <gazeboros node.hpp=""> | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. gmake[2]: * [CMakeFiles/cubelowlevel.dir/build.make:76: CMakeFiles/cubelowlevel.dir/src/cubelowlevel.cpp.o] Error 1 gmake[1]: [CMakeFiles/Makefile2:596: CMakeFiles/cubelowlevel.dir/all] Error 2 gmake[1]: ** Waiting for unfinished jobs.... gmake: * [Makefile:146: all] Error 2

Failed <<< rosgazebodemo [7.44s, exited with code 2]

Summary: 0 packages finished [7.61s] 1 package failed: rosgazebodemo 1 package had stderr output: rosgazebodemo

user@7bff3c3fced1:/data/workspace$ locate gazeboros/node.hpp /opt/ros/humble/include/gazeboros/node.hpp

Asked by askesis on 2023-04-15 10:05:40 UTC

Comments

Answers