Skip to content

Compilation trouble on Ubuntu 24 with ROS2 Iron #116

@gjf2a

Description

@gjf2a

Hello, I am creating a project that runs perfectly well on Ubuntu 22 with ROS2 Iron.

Unfortunately, I also need it to run on Ubuntu 24 with ROS2 Iron, which required me to build ROS2 Iron from sources. That generally works well - I can control my robot just fine. What I can't do is make my Rust code work with it.

Here is my repository: https://github.com/gjf2a/trajectory_mapper

When I try to compile it on Ubuntu 22, everything works fine. When I try on Ubuntu 24, I get the following error:

  Generate bindings file '/home/ferrer/trajectory_mapper/target/debug/build/r2r_rcl-0f95862c1d61477e/out/f2001a1aae781924ad5d5e8f16a78e1e08e71423ac05f9a98f06392f545f4268/rcl_bindings.rs'
  src/rcl_wrapper.h:27:10: fatal error: 'rosidl_runtime_c/rosidl_runtime_c.h' file not found
  thread 'main' panicked at /home/ferrer/.cargo/registry/src/index.crates.io-6f17d22bba15001f/r2r_rcl-0.9.4/build.rs:103:10:
  Unable to generate bindings: ClangDiagnostic("src/rcl_wrapper.h:27:10: fatal error: 'rosidl_runtime_c/rosidl_runtime_c.h' file not found\n")

As an experiment, I used touch to create a bogus rosidl_runtime_c.h, and I got this error:

error[E0412]: cannot find type `rosidl_runtime_c__U16String__Sequence` in this scope
    --> /home/ferrer/.cargo/registry/src/index.crates.io-6f17d22bba15001f/r2r_rcl-0.9.4/src/lib.rs:55:6
     |
55   | impl rosidl_runtime_c__U16String__Sequence {
     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a type alias with a similar name exists: `rosidl_runtime_c__byte__Sequence`
     |
    ::: /home/ferrer/trajectory_mapper/target/debug/build/r2r_rcl-0f95862c1d61477e/out/rcl_bindings.rs:1713:1
     |
1713 | pub type rosidl_runtime_c__byte__Sequence = [u64; 3usize];
     | ---------------------------------------------------------- similarly named type alias `rosidl_runtime_c__byte__Sequence` defined here

I would greatly appreciate any and all advice you can offer. Thanks!

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