open-rmf / rmf_simulation

Support plugins for simulating RMF scenarios
Apache License 2.0
10 stars 18 forks source link

rmf_robot_sim_gazebo_plugins build error #96

Closed lkw303 closed 1 year ago

lkw303 commented 1 year ago

Bug report

Required information:

Description of the bug

Build failing due to header file not being found.

--- stderr: rmf_robot_sim_gz_plugins                                                                                 
In file included from /home/kai/rmf_humble_ws/src/rmf/rmf_simulation/rmf_robot_sim_gz_plugins/src/TeleportIngestor.cpp:23:
In file included from /usr/include/ignition/plugin1/ignition/plugin/Register.hh:18:
In file included from /usr/include/ignition/plugin1/gz/plugin/Register.hh:22:
/usr/include/ignition/plugin1/gz/plugin/detail/Register.hh:28:10: fatal error: 'gz/utilities/SuppressWarning.hh' file not found
#include <gz/utilities/SuppressWarning.hh>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error log can be found at: https://gist.github.com/lkw303/e9f0500d51c18acc168dfa4cd524d8ac

Steps to reproduce the bug

Additional information

This is the change log of the libignition-utils1 debian package. I am not sure if the latest change (which i believe is the migration of headers) was the cause of this.

ignition-utils1 (1.5.0-1~jammy) jammy; urgency=medium

  * ignition-utils1 1.5.0-1 release

 -- Nate Koenig <nate@openrobotics.org>  Thu, 08 Dec 2022 14:29:21 -0800

ignition-utils1 (1.4.1-1~jammy) jammy; urgency=medium

  * ignition-utils1 1.4.1-1 release
luca-della-vedova commented 1 year ago

Interesting, can you see whether the file is in your filesystem or not? I.e.:

luca@luca-jammy:~/rmf_ws$ locate gz/utilities/SuppressWarning.hh
/usr/include/ignition/cmake2/gz/utilities/SuppressWarning.hh
lkw303 commented 1 year ago

Hi nothing appears when I run locate ignition/gazebo/utilities/SuppressWarning.hh. However I can confirm that I do not have SupressWarning.hh located at /usr/include/ignition/cmake2/gz/utilities/SuppressWarning.hh.

Instead it is located at /usr/include/ignition/cmake2/ignition/utilities/SuppressWarning.hh and I only have an ignition subdirectory located at usr/include/ignition/cmake2

lkw303 commented 1 year ago

Hi upon upgrading the apt package libignition-cmake2-dev to version 2.16.01~jammy it builds fine. I realised that I previously had 2.14.0-2~jammy installed:

libignition-cmake2-dev:
  Installed: 2.14.0-2~jammy
  Candidate: 2.16.0-1~jammy
  Version table:
     2.16.0-1~jammy 500
        500 http://packages.osrfoundation.org/gazebo/ubuntu-stable jammy/main amd64 Packages
 *** 2.14.0-2~jammy 500
        500 http://packages.ros.org/ros2/ubuntu jammy/main amd64 Packages

I am not sure why this version of the package was installed. I assume it was installed when doing rosdep install. After running apt depends ignition-fortress, I realised that the required libignition-cmake2-dev version is set to be>=2.12.1

kai@kai-Precision-5520:~/rmf_humble_ws$ apt depends ignition-fortress
ignition-fortress
  Depends: libignition-cmake2-dev (>= 2.12.1)
  Depends: libignition-common4-dev (>= 4.5.0)
  Depends: libignition-fuel-tools7-dev
  Depends: libignition-gazebo6-dev (>= 6.9.0)
  Depends: libignition-gui6-dev (>= 6.4.0)
  Depends: libignition-launch5-dev (>= 5.1.0)
  Depends: libignition-math6-dev (>= 6.10.0)
  Depends: libignition-math6-eigen3-dev (>= 6.10.0)
  Depends: libignition-msgs8-dev (>= 8.4.0)
  Depends: libignition-physics5-dev (>= 5.1.0)
  Depends: libignition-plugin-dev (>= 1.2.1)
  Depends: libignition-rendering6-dev (>= 6.3.1)
  Depends: libignition-sensors6-dev (>= 6.3.0)
  Depends: libignition-tools-dev (>= 1.4.1)
  Depends: libignition-transport11-dev
  Depends: libignition-utils1-cli-dev (>= 1.4.0)
  Depends: libignition-utils1-dev (>= 1.4.0)
  Depends: libsdformat12-dev (>= 12.4.0)
  Depends: python3-ignition-math6
  Depends: python3-ignition-gazebo6

I am not sure if this would be an issue, since the previous versions would be installed in /usr/include/ignition/cmake2/ignition rather than in /usr/include/ignition/cmake2/gz causing the inability to locate the header files when building. I have tried another fresh install on another device from a clean image and it yielded the same result (i.e the build error mentioned above).

I would be closing this since I believe it is not an issue with this repository nor the RMF installation instructions.