Trouble building on Fedora

The build instructions for Gazebo only include Ubuntu and it is a little disappointing that there was no attempt undertaken to distribute Gazebo in a more open way for other distros, especially given that it even supports other OS’es than Linux and has supported more distros in the past. It is 2023 and we should not pretend that we live in a monoculture where the only Linux is Ubuntu.

Anyways. So I wanted to build Gazebo Harmonic on Fedora 37 and at the step of building the sim with the colcon command: colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install, I am gettin obscure build errors without any real message of what is the problem:

Finished <<< gz-math7 [2.29s]
Starting >>> gz-common5
Starting >>> sdformat13
Starting >>> gz-msgs10
--- stderr: gz-msgs10                                                                                             
CMake Error at /home/mrsmith/Development/Code/gazebo/ws/install/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:73 (message):
  -- BUILD ERRORS: These must be resolved before compiling.
Call Stack (most recent call first):
  CMakeLists.txt:111 (gz_configure_build)

CMake Error at /home/mrsmith/Development/Code/gazebo/ws/install/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:75 (message):
  --    Missing dependency [Protobuf] (Components: all)
Call Stack (most recent call first):
  CMakeLists.txt:111 (gz_configure_build)

CMake Error at /home/mrsmith/Development/Code/gazebo/ws/install/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:77 (message):

Call Stack (most recent call first):
  CMakeLists.txt:111 (gz_configure_build)

CMake Error at /home/mrsmith/Development/Code/gazebo/ws/install/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:82 (message):
  Errors encountered in build.  Please see BUILD ERRORS above.
Call Stack (most recent call first):
  CMakeLists.txt:111 (gz_configure_build)

Failed   <<< gz-msgs10 [0.55s, exited with code 1]
Aborted  <<< gz-common5 [1.10s]                                                                      
Aborted  <<< sdformat13 [1min 13s]                                          

Summary: 4 packages finished [1min 17s]
  1 package failed: gz-msgs10
  2 packages aborted: gz-common5 sdformat13
  7 packages had stderr output: gz-cmake3 gz-common5 gz-math7 gz-msgs10 gz-tools2 gz-utils2 sdformat13
  9 packages not processed

Does anyone know what the issue might be? The builds up to that point did not have any errors, just warnings.
Any help is much appreciated.

What is obscure on this? Isn’t the message clear? You have to install Protobuf development files.

Oh I missed that, fair enough. Not obscure and right in my face. Thanks for pointing that out @peci1

I hope you’ll now be able to finish the build :slight_smile:

Just to add to your other concerns, official support of each platform costs time, money (at least in buildfarm time) and makes it more difficult for newcomers to come with PRs (because the buildfarm build might fail for reasons specific for a platform they’re not familiar with).

It might be easier for you to use the simulator from a container like Singularity or Docker.

Yeah I understand. If I am able to build it, I will look into pushing it to the Fedora copr so others can just install it from there.

I looked into the docker route before and hoped I can just use it through the nvidia docker engine via the browser. But from the docker hub it seems that the client would still be the gazebo desktop application that connects to the cloud server. I don’t see any example there or in the official docs suggesting that it can be used via a web streaming interface (like e.g. webots). But maybe I missed it like that dependency issue ¯\_(ツ)_/¯

You’re probably talking about GitHub - osrf/gzweb: Web client for Gazebo classic simulation . That is an experimental part of Gazebo, thus the docs are scarce. The desktop GUI is the standard for now.

1 Like