-
Notifications
You must be signed in to change notification settings - Fork 108
Description
I have been maintaining a (desktop) version of this repo for humble (https://github.com/EGAlberts/ros2_java) particularly the version I use most is .
I recently attempted to update to Jazzy to access newer versions of libraries related to my work, however I discovered there is an issue with CMake builds when it comes to Jazzy. I tried to isolate it to very simple builds such as just generating the java versions of builtin_interfaces.
I get errors along these lines:
CMake Error at /opt/ros/jazzy/share/rosidl_generator_c/cmake/rosidl_generator_c_generate_interfaces.cmake:145 (add_library):
add_library cannot create ALIAS target
"builtin_interfaces::builtin_interfaces__rosidl_generator_c" because
another target with the same name already exists.
Call Stack (most recent call first):
/opt/ros/jazzy/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
/opt/ros/jazzy/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:280 (ament_execute_extensions)
CMakeLists.txt:19 (rosidl_generate_interface)
I think the actual line/file given is a red herring though, as repeating this process without any ros2-java involved does not lead to an error from the file listed. However the issue it points out seems to be real, as I did have success building ros2 from source i.e. having ros2-java always be involved in the generation of header files for interfaces. So it seems the existence of builtin_interfaces a binary in the ros2 jazzy install causes a conflict when rebuilding it in an overlaying workspace with ros2-java, specifically I suppose in rosidl_generator_java.