Skip to content

Jazzy Interface generation #250

@EGAlberts

Description

@EGAlberts

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions