open-rmf / rmf

Root repository for the RMF software
Apache License 2.0
223 stars 58 forks source link

Compile from Source Fails - rmf_visualization_obstacles module #264

Closed Th3G4mbl3r closed 1 year ago

Th3G4mbl3r commented 1 year ago

Bug report

Required information:

Description of the bug

The build from source fails at the colcon build --mixin release lld step.

You get the following error message:


--- stderr: rmf_visualization_obstacles      
CMake Error at CMakeLists.txt:13 (find_package):
  By not providing "Findvision_msgs.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "vision_msgs", but CMake did not find one.

  Could not find a package configuration file provided by "vision_msgs" with
  any of the following names:

    vision_msgsConfig.cmake
    vision_msgs-config.cmake

  Add the installation prefix of "vision_msgs" to CMAKE_PREFIX_PATH or set
  "vision_msgs_DIR" to a directory containing one of the above files.  If
  "vision_msgs" provides a separate development package or SDK, be sure it
  has been installed.

---

Steps to reproduce the bug

Follow the install from source guide as listed in the Open RMF repository.

Expected behavior

Successful compile and build of the RMF.

Actual behavior

Build fails and does not complete.

Yadunund commented 1 year ago

vision_msgs is an external package that has a binary release for humble. It should get installed automatically when you run the rosdep install command in the instructions. Make sure to run rosdep update prior if you haven't done so in a while.

Th3G4mbl3r commented 1 year ago

i installed ROS2 from source using the link i posted in my bug report above. And i do a rosdep update prior to installing RMF. However, i realise that when going with ROS2 installed from source instead of binary then the vision_msgs package is not available but when i install ROS2 using binary as the RMF install guide assumes, then it works. Let me know if you need me to provide more detailed messages or logs. I am happy to install a new machine with ROS2 from source followed by RMF from source using the links i've highlighted in the posts above.

Yadunund commented 1 year ago

Oh I see, I missed the detail that you installed ROS 2 from source. In this case, you need to also clone in the vision_msgs pkg into your workspace (checkout the ros2 branch).

Th3G4mbl3r commented 1 year ago

Ah ok. Then should we update the install readme to include that as a point to note for people who are installing ROS2 from source. Especially given the RMF Demos page actively encourages folks to install ROS2 from source to ensure maximum compatibility and easy debugging. Especially as vision_msgs is an external package that is part of a different repository outside of ROS2.

Yadunund commented 1 year ago

Especially given the RMF Demos page actively encourages folks to install ROS2 from source

Not sure where you saw this. The build instructions clearly state to install humble binaries. If users choose to use ROS 2 binaries, then they will need to ensure other dependencies which are otherwise installed by rosdep, are cloned in. I'm closing this issue for now, but feel free to reopen it if you feel otherwise.