Could not find a package configuration file provided by "gz-common5-graphics"
I'm trying to build the garden release on bullseye using following Dockerfile (adapted from https://github.com/gazebosim/gz-transport/issues/362#issue-1383176628):
FROM debian:bullseye
RUN apt-get update \
&& apt dist-upgrade -y \
&& apt install -y \
git \
wget \
python3-pip \
python-is-python3 \
python3-distutils \
build-essential \
cmake \
libtinyxml2-dev \
libavutil-dev \
libavcodec-dev \
libavformat-dev \
libavdevice-dev \
libfreeimage-dev \
libeigen3-dev \
libgts-dev \
libprotobuf-dev \
libprotoc-dev \
protobuf-compiler \
protobuf-c-compiler \
pkg-config \
ruby \
liburdfdom-dev \
libx11-dev \
libczmq-dev \
libjsoncpp-dev \
libcurl4-openssl-dev \
libyaml-dev \
libzip-dev
RUN python -m pip install vcstool
RUN python -m pip install colcon-common-extensions
RUN mkdir -p /ws/src
WORKDIR /ws/src
RUN wget https://raw.githubusercontent.com/ignition-tooling/gazebodistro/master/collection-garden.yaml
RUN vcs import < collection-garden.yaml
RUN colcon graph
RUN colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install
The build fails on gz-rendering7 because cmake cannot find a piece of gz-common:
STEP 9/10: RUN colcon graph
gz-cmake3 +***************
gz-tools2 +
gz-utils2 +**.*******.**
gz-math7 +*****.******
gz-common5 + ** ******
gz-msgs9 + * * ****
sdformat13 + * **.
gz-fuel_tools8 + *.
gz-plugin2 + ***.**
gz-transport12 + ****
gz-physics6 + *.
gz-rendering7 +***.
gz-gui7 + **
gz-sensors7 +*.
gz-sim7 +*
gz-launch6 +
--> 12318bb0189
STEP 10/10: RUN colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install
Starting >>> gz-cmake3
Finished <<< gz-cmake3 [0.92s]
Starting >>> gz-utils2
Starting >>> gz-tools2
Finished <<< gz-utils2 [2.42s]
Starting >>> gz-math7
Finished <<< gz-tools2 [3.61s]
--- stderr: gz-math7
CMake Warning at /ws/src/install/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:69 (message):
CONFIGURATION WARNINGS:
-- Swig is missing: Language interfaces are disabled.
-- pybind11 is missing: Python interfaces are disabled.
Call Stack (most recent call first):
CMakeLists.txt:124 (gz_configure_build)
---
Finished <<< gz-math7 [10.7s]
Starting >>> gz-common5
Starting >>> gz-msgs9
Starting >>> sdformat13
--- stderr: gz-common5
CMake Warning at /ws/src/install/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:69 (message):
CONFIGURATION WARNINGS:
-- Skipping component [geospatial]: Missing dependency [GDAL].
^~~~~ Set SKIP_geospatial=true in cmake to suppress this warning.
-- Skipping component [graphics]: Missing dependency [assimp].
^~~~~ Set SKIP_graphics=true in cmake to suppress this warning.
Call Stack (most recent call first):
CMakeLists.txt:139 (gz_configure_build)
---
[Processing: gz-common5, gz-msgs9, sdformat13]
Finished <<< gz-common5 [42.6s]
Starting >>> gz-plugin2
[Processing: gz-msgs9, gz-plugin2, sdformat13]
Finished <<< gz-plugin2 [40.7s]
Starting >>> gz-rendering7
--- stderr: gz-rendering7
CMake Warning at /usr/share/cmake-3.18/Modules/CMakeFindDependencyMacro.cmake:47 (find_package):
By not providing "Findgz-common5-graphics.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"gz-common5-graphics", but CMake did not find one.
Could not find a package configuration file provided by
"gz-common5-graphics" (requested version 5.3.1) with any of the following
names:
gz-common5-graphicsConfig.cmake
gz-common5-graphics-config.cmake
Add the installation prefix of "gz-common5-graphics" to CMAKE_PREFIX_PATH
or set "gz-common5-graphics_DIR" to a directory containing one of the above
files. If "gz-common5-graphics" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
/ws/src/install/lib/cmake/gz-common5/gz-common5-config.cmake:188 (find_dependency)
/ws/src/install/share/cmake/gz-cmake3/cmake3/GzUtils.cmake:231 (find_package)
CMakeLists.txt:39 (gz_find_package)
CMake Warning at /ws/src/install/share/cmake/gz-cmake3/cmake3/GzUtils.cmake:231 (find_package):
Found package configuration file:
/ws/src/install/lib/cmake/gz-common5/gz-common5-config.cmake
but it set gz-common5_FOUND to FALSE so package "gz-common5" is considered
to be NOT FOUND. Reason given by package:
gz-common5 could not be found because dependency gz-common5-graphics could
not be found.
Call Stack (most recent call first):
CMakeLists.txt:39 (gz_find_package)
CUDA_TOOLKIT_ROOT_DIR not found or specified
CMake Warning at /ws/src/install/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:69 (message):
CONFIGURATION WARNINGS:
-- Skipping component [ogre]: Missing dependency [OpenGL].
^~~~~ Set SKIP_ogre=true in cmake to suppress this warning.
-- Skipping component [ogre2]: Missing dependency [OpenGL].
^~~~~ Set SKIP_ogre2=true in cmake to suppress this warning.
-- Skipping component [ogre]: Missing dependency [GzOGRE] (Components: RTShaderSystem, Terrain, Overlay, Paging).
^~~~~ Set SKIP_ogre=true in cmake to suppress this warning.
-- Skipping component [optix]: Missing dependency [OptiX].
^~~~~ Set SKIP_optix=true in cmake to suppress this warning.
Call Stack (most recent call first):
CMakeLists.txt:176 (gz_configure_build)
CMake Error at /ws/src/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:176 (gz_configure_build)
CMake Error at /ws/src/install/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:75 (message):
-- Missing dependency [gz-common5] (Components: graphics, events,
geospatial)
Call Stack (most recent call first):
CMakeLists.txt:176 (gz_configure_build)
CMake Error at /ws/src/install/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:77 (message):
-- END BUILD ERRORS
Call Stack (most recent call first):
CMakeLists.txt:176 (gz_configure_build)
CMake Error at /ws/src/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:176 (gz_configure_build)
---
Failed <<< gz-rendering7 [0.89s, exited with code 1]
Aborted <<< sdformat13 [2min 1s]
Aborted <<< gz-msgs9 [2min 42s]
Summary: 6 packages finished [2min 57s]
1 package failed: gz-rendering7
2 packages aborted: gz-msgs9 sdformat13
4 packages had stderr output: gz-common5 gz-math7 gz-rendering7 sdformat13
7 packages not processed
Error: building at STEP "RUN colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install": while running runtime: exit status 1
Any idea how to resolve this? I really would like to include gazebo in our bullseye-based https://github.com/fsfw-dresden/usb-live-linux ..
gz-common5-graphics has a few dependencies:
libtinyxml2-dev
libfreeimage-dev
libgts-dev
make sure to install these libraries as well.
Note that there is a one-liner cmd to install all dependencies in this section on the doc page:
https://gazebosim.org/docs/garden/install_ubuntu_src#install-dependencies
Mhh it is a different error now, also the dependency libogre-next-2.3-dev listed in gz-sim/.github/ci/packages.apt is not in the debian repositories, but the error seems unrelated:
STEP 9/11: RUN vcs import < collection-garden.yaml
................
=== ./gz-cmake (git) ===
Cloning into '.'...
=== ./gz-common (git) ===
Cloning into '.'...
=== ./gz-fuel-tools (git) ===
Cloning into '.'...
=== ./gz-gui (git) ===
Cloning into '.'...
=== ./gz-launch (git) ===
Cloning into '.'...
=== ./gz-math (git) ===
Cloning into '.'...
=== ./gz-msgs (git) ===
Cloning into '.'...
=== ./gz-physics (git) ===
Cloning into '.'...
=== ./gz-plugin (git) ===
Cloning into '.'...
=== ./gz-rendering (git) ===
Cloning into '.'...
=== ./gz-sensors (git) ===
Cloning into '.'...
=== ./gz-sim (git) ===
Cloning into '.'...
=== ./gz-tools (git) ===
Cloning into '.'...
=== ./gz-transport (git) ===
Cloning into '.'...
=== ./gz-utils (git) ===
Cloning into '.'...
=== ./sdformat (git) ===
Cloning into '.'...
--> cf80f9fd69e
STEP 10/11: RUN colcon graph
gz-cmake3 +***************
gz-tools2 +
gz-utils2 +**.*******.**
gz-math7 +*****.******
gz-common5 + ** ******
gz-msgs9 + * * ****
sdformat13 + * **.
gz-fuel_tools8 + *.
gz-plugin2 + ***.**
gz-transport12 + ****
gz-physics6 + *.
gz-rendering7 +***.
gz-gui7 + **
gz-sensors7 +*.
gz-sim7 +*
gz-launch6 +
--> ad2688e86ee
STEP 11/11: RUN colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install
Starting >>> gz-cmake3
Finished <<< gz-cmake3 [0.85s]
Starting >>> gz-utils2
Starting >>> gz-tools2
Finished <<< gz-utils2 [2.79s]
Starting >>> gz-math7
Finished <<< gz-tools2 [4.36s]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
[Processing: gz-math7]
Finished <<< gz-math7 [6min 45s]
Starting >>> gz-common5
Starting >>> gz-msgs9
Starting >>> sdformat13
--- stderr: gz-common5
Warning, assimp below 5.2.0 detected, setting compatibility mode
---[Processing: gz-common5, gz-msgs9, sdformat13]
[Processing: gz-common5, gz-msgs9, sdformat13]
[Processing: gz-common5, gz-msgs9, sdformat13]
[Processing: gz-common5, gz-msgs9, sdformat13]
Finished <<< gz-common5 [2min 3s]
Starting >>> gz-plugin2
[Processing: gz-msgs9, gz-plugin2, sdformat13]
Finished <<< gz-plugin2 [39.3s]
Starting >>> gz-rendering7
[Processing: gz-msgs9, gz-rendering7, sdformat13]
[Processing: gz-msgs9, gz-rendering7, sdformat13]
[Processing: gz-msgs9, gz-rendering7, sdformat13]
Finished <<< gz-msgs9 [4min 25s]
Starting >>> gz-transport12
Starting >>> gz-fuel_tools8
--- stderr: gz-transport12
CMake Warning at CMakeLists.txt:60 (message):
lsb_release executable not found. Disabling focal-specific workarounds
/ws/src/gz-transport/src/NodeShared.cc: In member function ‘void gz::transport::v12::NodeShared::OnNewConnection(const gz::transport::v12::MessagePublisher&)’:
/ws/src/gz-transport/src/NodeShared.cc:1216:32: error: ‘class zmq::socket_t’ has no member named ‘set’
1216 | this->dataPtr->subscriber->set(zmq::sockopt::subscribe, topic);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1216:41: error: ‘zmq::sockopt’ has not been declared
1216 | this->dataPtr->subscriber->set(zmq::sockopt::subscribe, topic);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc: In member function ‘bool gz::transport::v12::NodeShared::InitializeSockets()’:
/ws/src/gz-transport/src/NodeShared.cc:1410:31: error: ‘class zmq::socket_t’ has no member named ‘set’
1410 | this->dataPtr->publisher->set(zmq::sockopt::linger, lingerVal);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1410:40: error: ‘zmq::sockopt’ has not been declared
1410 | this->dataPtr->publisher->set(zmq::sockopt::linger, lingerVal);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1433:32: error: ‘class zmq::socket_t’ has no member named ‘set’
1433 | this->dataPtr->subscriber->set(zmq::sockopt::rcvhwm, rcvQueueVal);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1433:41: error: ‘zmq::sockopt’ has not been declared
1433 | this->dataPtr->subscriber->set(zmq::sockopt::rcvhwm, rcvQueueVal);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1456:31: error: ‘class zmq::socket_t’ has no member named ‘set’
1456 | this->dataPtr->publisher->set(zmq::sockopt::sndhwm, sndQueueVal);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1456:40: error: ‘zmq::sockopt’ has not been declared
1456 | this->dataPtr->publisher->set(zmq::sockopt::sndhwm, sndQueueVal);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1460:35: error: ‘class zmq::socket_t’ has no member named ‘get’
1460 | this->dataPtr->publisher->get(zmq::sockopt::last_endpoint);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1460:44: error: ‘zmq::sockopt’ has not been declared
1460 | this->dataPtr->publisher->get(zmq::sockopt::last_endpoint);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1464:38: error: ‘class zmq::socket_t’ has no member named ‘set’
1464 | this->dataPtr->responseReceiver->set(zmq::sockopt::routing_id, id);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1464:47: error: ‘zmq::sockopt’ has not been declared
1464 | this->dataPtr->responseReceiver->set(zmq::sockopt::routing_id, id);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1466:65: error: ‘class zmq::socket_t’ has no member named ‘get’
1466 | this->myRequesterAddress = this->dataPtr->responseReceiver->get(
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1467:14: error: ‘zmq::sockopt’ has not been declared
1467 | zmq::sockopt::last_endpoint);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1471:29: error: ‘class zmq::socket_t’ has no member named ‘set’
1471 | this->dataPtr->replier->set(zmq::sockopt::routing_id, id);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1471:38: error: ‘zmq::sockopt’ has not been declared
1471 | this->dataPtr->replier->set(zmq::sockopt::routing_id, id);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1473:29: error: ‘class zmq::socket_t’ has no member named ‘set’
1473 | this->dataPtr->replier->set(zmq::sockopt::linger, lingerVal);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1473:38: error: ‘zmq::sockopt’ has not been declared
1473 | this->dataPtr->replier->set(zmq::sockopt::linger, lingerVal);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1474:29: error: ‘class zmq::socket_t’ has no member named ‘set’
1474 | this->dataPtr->replier->set(zmq::sockopt::router_mandatory, routeOn);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1474:38: error: ‘zmq::sockopt’ has not been declared
1474 | this->dataPtr->replier->set(zmq::sockopt::router_mandatory, routeOn);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1477:33: error: ‘class zmq::socket_t’ has no member named ‘get’
1477 | this->dataPtr->replier->get(zmq::sockopt::last_endpoint);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1477:42: error: ‘zmq::sockopt’ has not been declared
1477 | this->dataPtr->replier->get(zmq::sockopt::last_endpoint);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1479:31: error: ‘class zmq::socket_t’ has no member named ‘set’
1479 | this->dataPtr->requester->set(zmq::sockopt::linger, lingerVal);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1479:40: error: ‘zmq::sockopt’ has not been declared
1479 | this->dataPtr->requester->set(zmq::sockopt::linger, lingerVal);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1480:31: error: ‘class zmq::socket_t’ has no member named ‘set’
1480 | this->dataPtr->requester->set(zmq::sockopt::router_mandatory, routeOn);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1480:40: error: ‘zmq::sockopt’ has not been declared
1480 | this->dataPtr->requester->set(zmq::sockopt::router_mandatory, routeOn);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc: In member function ‘int gz::transport::v12::NodeShared::RcvHwm()’:
/ws/src/gz-transport/src/NodeShared.cc:1556:41: error: ‘class zmq::socket_t’ has no member named ‘get’
1556 | rcvHwm = this->dataPtr->subscriber->get(zmq::sockopt::rcvhwm);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1556:50: error: ‘zmq::sockopt’ has not been declared
1556 | rcvHwm = this->dataPtr->subscriber->get(zmq::sockopt::rcvhwm);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc: In member function ‘int gz::transport::v12::NodeShared::SndHwm()’:
/ws/src/gz-transport/src/NodeShared.cc:1577:40: error: ‘class zmq::socket_t’ has no member named ‘get’
1577 | sndHwm = this->dataPtr->publisher->get(zmq::sockopt::sndhwm);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1577:49: error: ‘zmq::sockopt’ has not been declared
1577 | sndHwm = this->dataPtr->publisher->get(zmq::sockopt::sndhwm);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc: In member function ‘void gz::transport::v12::NodeSharedPrivate::SecurityOnNewConnection()’:
/ws/src/gz-transport/src/NodeShared.cc:1678:23: error: ‘class zmq::socket_t’ has no member named ‘set’
1678 | this->subscriber->set(zmq::sockopt::plain_username, user);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1678:32: error: ‘zmq::sockopt’ has not been declared
1678 | this->subscriber->set(zmq::sockopt::plain_username, user);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1679:23: error: ‘class zmq::socket_t’ has no member named ‘set’
1679 | this->subscriber->set(zmq::sockopt::plain_password, pass);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1679:32: error: ‘zmq::sockopt’ has not been declared
1679 | this->subscriber->set(zmq::sockopt::plain_password, pass);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc: In member function ‘void gz::transport::v12::NodeSharedPrivate::SecurityInit()’:
/ws/src/gz-transport/src/NodeShared.cc:1703:22: error: ‘class zmq::socket_t’ has no member named ‘set’
1703 | this->publisher->set(zmq::sockopt::plain_server, asPlainSecurityServer);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1703:31: error: ‘zmq::sockopt’ has not been declared
1703 | this->publisher->set(zmq::sockopt::plain_server, asPlainSecurityServer);
| ^~~~~~~
/ws/src/gz-transport/src/NodeShared.cc:1704:22: error: ‘class zmq::socket_t’ has no member named ‘set’
1704 | this->publisher->set(zmq::sockopt::zap_domain, kGzAuthDomain);
| ^~~
/ws/src/gz-transport/src/NodeShared.cc:1704:31: error: ‘zmq::sockopt’ has not been declared
1704 | this->publisher->set(zmq::sockopt::zap_domain, kGzAuthDomain);
| ^~~~~~~
gmake[2]: *** [src/CMakeFiles/gz-transport12.dir/build.make:199: src/CMakeFiles/gz-transport12.dir/NodeShared.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:431: src/CMakeFiles/gz-transport12.dir/all] Error 2
gmake: *** [Makefile:182: all] Error 2
---
Failed <<< gz-transport12 [1min 39s, exited with code 2]
[Processing: gz-fuel_tools8, gz-rendering7, gz-transport12, sdformat13]
[Processing: gz-fuel_tools8, gz-rendering7, gz-transport12, sdformat13]
[Processing: gz-fuel_tools8, gz-rendering7, gz-transport12, sdformat13]
Aborted <<< gz-fuel_tools8 [2min 44s]
Aborted <<< sdformat13 [9min 13s]
Aborted <<< gz-rendering7 [7min 3s]
Summary: 7 packages finished [16min 35s]
1 package failed: gz-transport12
3 packages aborted: gz-fuel_tools8 gz-rendering7 sdformat13
3 packages had stderr output: gz-common5 gz-rendering7 gz-transport12
5 packages not processed
Error: building at STEP "RUN colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install": while running runtime: exit status 2
lsb_release executable not found
maybe try apt-get installing lsb-release and see if that makes a difference?
missing libogre-next-2.3-dev means that you'll only have access to the ogre 1.x render engine. The libogre-next-2.3-dev debs are probably not available in debian bullseye
Closing since this doesn't appear to be a gz-rendering issue.