dolly
dolly copied to clipboard
Error in dolly_tests in ros-galactic: ‘class ignition::gazebo::v5::ServerConfig’ has no member named ‘SetHeadlessRendering’
Trying to build the ros2-galactic version of the dolly packages withcolcon build
, but receiving errors.
Command in the dolly workspace to reproduce:
colcon build --symlink-install
The output:
[0.319s] WARNING:colcon.colcon_core.verb:Some selected packages are already built in one or more underlay workspaces:
'dolly_follow' is in: /opt/ros/galactic
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.
If you understand the risks and want to override a package anyways, add the following to the command line:
--allow-overriding dolly_follow
This may be promoted to an error in a future release of colcon-core.
Starting >>> dolly_follow
Finished <<< dolly_follow [8.43s]
Starting >>> dolly_gazebo
Starting >>> dolly_tests
Finished <<< dolly_gazebo [2.41s]
--- stderr: dolly_tests
CMake Warning (dev) at /usr/share/cmake-3.16/Modules/FindOpenGL.cmake:275 (message):
Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
available. Run "cmake --help-policy CMP0072" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
FindOpenGL found both a legacy GL library:
OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
and GLVND libraries for OpenGL and GLX:
OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so
OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/ignition-rendering5-ogre/ignition-rendering5-ogre-config.cmake:114 (find_package)
/usr/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
/usr/lib/x86_64-linux-gnu/cmake/ignition-rendering5/ignition-rendering5-config.cmake:204 (find_dependency)
/usr/lib/x86_64-linux-gnu/cmake/ignition-gui5/ignition-gui5-config.cmake:98 (find_package)
/usr/lib/x86_64-linux-gnu/cmake/ignition-gazebo5/ignition-gazebo5-config.cmake:98 (find_package)
CMakeLists.txt:13 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
/home/dani/Desktop/dolly_ws/src/dolly/dolly_tests/test/follow_ignition_TEST.cpp: In member function ‘virtual void DollyTests_Follow_Test::TestBody()’:
/home/dani/Desktop/dolly_ws/src/dolly/dolly_tests/test/follow_ignition_TEST.cpp:47:10: error: ‘class ignition::gazebo::v5::ServerConfig’ has no member named ‘SetHeadlessRendering’
47 | config.SetHeadlessRendering(true);
| ^~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/follow_ignition_TEST.dir/build.make:63: CMakeFiles/follow_ignition_TEST.dir/test/follow_ignition_TEST.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/follow_ignition_TEST.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed <<< dolly_tests [9.13s, exited with code 2]
Summary: 2 packages finished [17.7s]
1 package failed: dolly_tests
1 package had stderr output: dolly_tests
1 package not processed
Getting the same issue but with colcon build
on Pop_OS 20.04
It looks like dolly_tests
is the sole issue; Skip compiling that and it is good to go
I had the same issue while doing 'colcon build', which clearly showed that dolly_tests was causing the problem. In my case, the problem was in the version of the gazebo and ignition. I changed the versions in CMakeLiskt.txt of the dolly_tests package and it got solved.