Build Error about message files
iemirosman opened this issue · 7 comments
Bug report
Required Info:
- Operating System:
- Ubuntu 20.04
Ros 1 : noetic
Ros 2 : humble
- Ubuntu 20.04
Steps to reproduce issue
I followed the build instructions and it gives fatal error:
admin@ubuntu:/workspaces/ros1_ws/ros1_bridge$ colcon build --packages-select ros1_bridge --cmake-force-configure
Starting >>> ros1_bridge
[Processing: ros1_bridge]
[Processing: ros1_bridge]
[Processing: ros1_bridge]
[Processing: ros1_bridge]
[Processing: ros1_bridge]
[Processing: ros1_bridge]
--- stderr: ros1_bridge
CMake Warning at CMakeLists.txt:207 (add_library):
Cannot generate a safe runtime search path for target ros1_bridge because
there is a cycle in the constraint graph:
dir 0 is [/opt/ros/humble/install/lib]
dir 1 must precede it due to runtime library [libimage_transport.so]
dir 1 is [/opt/ros/noetic/lib]
dir 0 must precede it due to runtime library [libtf2_ros.so]
dir 2 is [/opt/ros/humble/install/opt/rviz_ogre_vendor/lib]
Some of these libraries may not be found correctly.
CMake Warning at /opt/ros/humble/install/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:50 (add_executable):
Cannot generate a safe runtime search path for target test_convert_generic
because there is a cycle in the constraint graph:
dir 0 is [/opt/ros/noetic/lib]
dir 2 must precede it due to runtime library [libtf2_ros.so]
dir 1 is [/workspaces/ros1_ws/ros1_bridge/build/ros1_bridge]
dir 2 is [/opt/ros/humble/install/lib]
dir 0 must precede it due to runtime library [libimage_transport.so]
dir 3 is [/opt/ros/humble/install/opt/rviz_ogre_vendor/lib]
Some of these libraries may not be found correctly.
Call Stack (most recent call first):
/opt/ros/humble/install/share/ament_cmake_gtest/cmake/ament_add_gtest_executable.cmake:37 (_ament_add_gtest_executable)
/opt/ros/humble/install/share/ament_cmake_gtest/cmake/ament_add_gtest.cmake:68 (ament_add_gtest_executable)
CMakeLists.txt:92 (ament_add_gtest)
CMake Warning at CMakeLists.txt:178 (add_executable):
Cannot generate a safe runtime search path for target static_bridge because
there is a cycle in the constraint graph:
dir 0 is [/opt/ros/noetic/lib]
dir 2 must precede it due to runtime library [libtf2_ros.so]
dir 1 is [/workspaces/ros1_ws/ros1_bridge/build/ros1_bridge]
dir 2 is [/opt/ros/humble/install/lib]
dir 0 must precede it due to runtime library [libimage_transport.so]
dir 3 is [/opt/ros/humble/install/opt/rviz_ogre_vendor/lib]
Some of these libraries may not be found correctly.
Call Stack (most recent call first):
CMakeLists.txt:224 (custom_executable)
CMake Warning at CMakeLists.txt:178 (add_executable):
Cannot generate a safe runtime search path for target parameter_bridge
because there is a cycle in the constraint graph:
dir 0 is [/opt/ros/noetic/lib]
dir 2 must precede it due to runtime library [libtf2_ros.so]
dir 1 is [/workspaces/ros1_ws/ros1_bridge/build/ros1_bridge]
dir 2 is [/opt/ros/humble/install/lib]
dir 0 must precede it due to runtime library [libimage_transport.so]
dir 3 is [/opt/ros/humble/install/opt/rviz_ogre_vendor/lib]
Some of these libraries may not be found correctly.
Call Stack (most recent call first):
CMakeLists.txt:231 (custom_executable)
CMake Warning at CMakeLists.txt:178 (add_executable):
Cannot generate a safe runtime search path for target dynamic_bridge
because there is a cycle in the constraint graph:
dir 0 is [/opt/ros/noetic/lib]
dir 2 must precede it due to runtime library [libtf2_ros.so]
dir 1 is [/workspaces/ros1_ws/ros1_bridge/build/ros1_bridge]
dir 2 is [/opt/ros/humble/install/lib]
dir 0 must precede it due to runtime library [libimage_transport.so]
dir 3 is [/opt/ros/humble/install/opt/rviz_ogre_vendor/lib]
Some of these libraries may not be found correctly.
Call Stack (most recent call first):
CMakeLists.txt:238 (custom_executable)
In file included from /workspaces/ros1_ws/ros1_bridge/build/ros1_bridge/generated/get_factory.cpp:42:
/workspaces/ros1_ws/ros1_bridge/build/ros1_bridge/generated/visualization_msgs_factories.hpp:18:10: fatal error: visualization_msgs/MeshFile.h: No such file or directory
18 | #include <visualization_msgs/MeshFile.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/ros1_bridge.dir/build.make:1499: CMakeFiles/ros1_bridge.dir/generated/get_factory.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:338: CMakeFiles/ros1_bridge.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
---
Failed <<< ros1_bridge [3min 8s, exited with code 2]
Summary: 0 packages finished [3min 9s]
1 package failed: ros1_bridge
1 package had stderr output: ros1_bridge
Help plz.
Same error
Any Update ...
Facing same error
Facing the same issue. Please let me know if there is any solution. Thanks!
Hi developer! I meet the same problem when I was building a ros1_bridge on a nvidia-docker which is based on ros2 humble.
I found that problem is caused by your third-party ros2 package which customized some topics that ros do not support.(Meshfile .etc)
The most "not that smart" solution is remove all third-party ros2 package and build bridge again.
I still hope they can make a easy-to-use blacklist to avoid ros1-bridge select all ros2 package as dependent.
What all third-party ros2 package should be removed ?
Any news on this issue? I'm facing the same problem.
same issue