Skip to content

std_msgs version 4.2.3 is yanked #472

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
George-Gi opened this issue Apr 11, 2025 · 2 comments
Open

std_msgs version 4.2.3 is yanked #472

George-Gi opened this issue Apr 11, 2025 · 2 comments

Comments

@George-Gi
Copy link

George-Gi commented Apr 11, 2025

Hi, I noticed that std_msgs crate is yanked.

error: failed to select a version for the requirement `std_msgs = "*"`
  version 4.2.3 is yanked
location searched: crates.io index

what is the suggested solution to this?

@maspe36
Copy link
Collaborator

maspe36 commented Apr 11, 2025

Hi @George-Gi, this is due to our complex message generation and consumption pipeline. When you put std_msgs = "*" in your Cargo.toml, there should be an accompanying .cargo/config.toml file in the root of your colcon workspace which "patches" any dependency on a std_msgs crate with some local crate. The local crate we patch to, should be generated by the rosidl_generator_rs package when you colcon build within a workspace which also has an interfaces package containing .msg etc files.

So if you're seeing this issue, it generally means one of these things

  1. You may not have built with colcon yet.
    Does the .cargo/ folder exist in the root of your workspace?

  2. You may not have the rosidl_generator_rs and/or std_msgs package(s) in your workspace or a sourced overlay
    Does the .cargo/config.toml file exist but there are no entries?


I recognize this is really quite confusing, you're not the first person to bring this up and you won't be the last. There is an ongoing community discussion on how we might simplify this experience (#471) if you're interested.

@George-Gi
Copy link
Author

Hi @George-Gi, this is due to our complex message generation and consumption pipeline. When you put std_msgs = "*" in your Cargo.toml, there should be an accompanying .cargo/config.toml file in the root of your colcon workspace which "patches" any dependency on a std_msgs crate with some local crate. The local crate we patch to, should be generated by the rosidl_generator_rs package when you colcon build within a workspace which also has an interfaces package containing .msg etc files.

So if you're seeing this issue, it generally means one of these things

  1. You may not have built with colcon yet.
    Does the .cargo/ folder exist in the root of your workspace?
  2. You may not have the rosidl_generator_rs and/or std_msgs package(s) in your workspace or a sourced overlay
    Does the .cargo/config.toml file exist but there are no entries?

I recognize this is really quite confusing, you're not the first person to bring this up and you won't be the last. There is an ongoing community discussion on how we might simplify this experience (#471) if you're interested.

Hi @maspe36 , thank you for the reply. I didn't realize from the instructions that it is necessary to install the generator and the rest of the repo. I thought this was optional only for development purposes and that by including only the relevant dependency in the Cargo.toml should do the job. So, cloning the whole repo is mandatory, right? My intention was to create the smallest possible container, that's why I want to avoid any extra stuff, not required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants