Skip to content

rosidl_runtime_rs differences between main and crate breaks colcon build #303

Open
@texhnolyze

Description

@texhnolyze

Hi so I tried to get this up and running to test out integrating it with our existing ros codebase and ran into the following issue:
It seems the removal of libc (#284) and thus change of the get_type_support to return *const std::os::raw::c_void leads to the build breaking:
image

After some investigation this is only due to the latest release 0.3.1 installed from crates.io not having this change yet.
As such this is only an issue during local development on the main branch and might just be due to my limited knowledge of rust/cargo.
However it was very confusing for me that rosidl_runtime_rs is downloaded and is used instead of the local one built with colcon build.
The section in the documentation does not seem up to date. As I understand the rosidl_runtime_rs crate did not use to exist?
By changing Cargo.toml of rclrs to use rosidl_runtime_rs = { version = 0.3, path = "../rosidl_runtime_rs" } I'm able to build with both colcon build as well as cargo build.

Would this be the correct way to fix this? As I take it from the docs this lead to issues in the past, due to colcon utilzing the name of packages as identifier?
I'm happy to do a PR with documenation and/or other changes if you could point me to the correct way to address this problem.

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