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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions