cargo-outdated gives up on combination of sys crates imported by git
pacak opened this issue · 0 comments
pacak commented
I have a big workspace where one of the crate imports a number of crates that depend on imgui-sys
, something like this
implot = { version = "0.6.0", git = "https://github.com/aholtzma-am/implot-rs.git", rev = "1b98661dbde146ecec07f8a414ec59fad4c6bc69" }
implot-sys = { version = "0.6.0", git = "https://github.com/aholtzma-am/implot-rs.git", rev = "1b98661dbde146ecec07f8a414ec59fad4c6bc69" }
This results in cargo-outdated
simply giving up
error: failed to select a version for `imgui-sys`.
... required by package `implot-sys v0.6.0 (https://github.com/aholtzma-am/implot-rs.git?rev=1b98661dbde146ecec07f8a414ec59fad4c6bc69#1b98661d)`
... which satisfies git dependency `implot-sys` (locked to 0.6.0) of package `implot v0.6.0 (https://github.com/aholtzma-am/implot-rs.git?rev=1b98661dbde146ecec07f8a414ec59fad4c6bc69#1b98661d)`
... which satisfies git dependency `implot` (locked to 0.6.0) of package `isim v0.1.0 (/tmp/cargo-outdatedrZlem0/isim)`
versions that meet the requirements `^0.9.0` are: 0.9.0
the package `imgui-sys` links to the native library `imgui`, but it conflicts with a previous package which links to `imgui` as well:
package `imgui-sys v0.11.0`
... which satisfies dependency `imgui-sys = "^0.11.0"` of package `imgui v0.11.0`
... which satisfies dependency `imgui = "^0.11.0"` of package `imgui-glow-renderer v0.11.0`
... which satisfies dependency `imgui-glow-renderer = "^0.11.0"` of package `imgui_backend v0.1.0 (/tmp/cargo-outdatedrZlem0/imgui_backend)`
... which satisfies path dependency `imgui_backend` (locked to 0.1.0) of package `isim v0.1.0 (/tmp/cargo-outdatedrZlem0/isim)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the links ='imgui-sys' value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.
Ideally I'd like cargo-outdated
to ignore crates it can't make useful suggestions about and move on. Ignoring crates listed and related with --ignore
makes no difference.