~/workspace$ colcon build --merge-install
Starting >>> gz-cmake3
Finished <<< gz-cmake3 [0.42s]
Starting >>> gz-utils2
Starting >>> gz-tools2
Finished <<< gz-tools2 [0.26s]
Finished <<< gz-utils2 [0.43s]
Starting >>> gz-math7
Finished <<< gz-math7 [0.91s]
Starting >>> gz-common5
Starting >>> sdformat13
Starting >>> gz-msgs10
Finished <<< gz-msgs10 [2.94s]
Starting >>> gz-transport13
Finished <<< sdformat13 [3.49s]
Finished <<< gz-common5 [24.0s]
Starting >>> gz-plugin2
Starting >>> gz-fuel_tools8
Finished <<< gz-plugin2 [0.68s]
Starting >>> gz-rendering8
Starting >>> gz-physics6
— stderr: gz-fuel_tools8
CMake Warning at /home/user/workspace/install/share/cmake/gz-cmake3/cmake3/GzUtils.cmake:231 (find_package):
By not providing “Findgz-msgs9.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “gz-msgs9”,
but CMake did not find one.
Could not find a package configuration file provided by “gz-msgs9” with any
of the following names:
gz-msgs9Config.cmake
gz-msgs9-config.cmake
Add the installation prefix of “gz-msgs9” to CMAKE_PREFIX_PATH or set
“gz-msgs9_DIR” to a directory containing one of the above files. If
“gz-msgs9” provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:67 (gz_find_package)
CMake Error at /home/user/workspace/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:77 (gz_configure_build)
in collection-harmonic.yaml some repos have branch different than main
in repo gz-fuel_tools8 branch main moved from msgs9 to msgs10, but in collection-harmonic.yaml is used other branch for repo gz-fuel_tools8
if in the collection-harmonic.yaml set correct branches - it builds and run.
Question is - what branches are correct
have found one combinaton of branches
Unfortunately this does not match any version in the history I have reviewed on the repository. The main reason is that many dependencies are not pinned (set to main), and they are “floating” and an get “incompatible” any time, and not always apparently (result has changed over the past few days).
So not sure there is any reference branch now. I believe currently that a way to achieve what we try to do is for the core teams to pin all dependencies (no more main) for each release.
Please note that you are using Harmonic which is currently in the development phase, not probably recommended for the general use (documentation is being patched to reflect this and prefer latest stable).
Unless you have a very good reason to use Harmonic I would recommend to go with Garden (if you are not using ROS) or stick to the default version selected for the ROS release (a new document is under review to help with the selection): i.e: Gazebo Fortress for Humble and Rolling.
Since Harmonic is in the development phase, all the library branches were set to main until the point that library developers and the simulation team create a branch for a new major version. This is the reason why some of the libraries are pointing to main and some are not.
During the process of bumping major versions there could be some issues (like the one you are facing) with timing between library code PR reviews and merges (updating CMakeLists.txt) and the update of gazebodistro. There could be also bugs due to inconsistencies between both sites, library code and gazebodistro.
We are going to look and fix the problem you reported here but please consider the option to use to a stable version unless you have a very good reason at this point to go with Harmonic.