Git Product home page Git Product logo

Comments (6)

baumanj avatar baumanj commented on August 16, 2024 1

Thanks for the tool! It promises to be really helpful

from cargo-udeps.

est31 avatar est31 commented on August 16, 2024

Yes, in this instance the crate is used both as build dependency and normal dependency. I've ran into this multiple times myself. Thanks for filing the bug.

from cargo-udeps.

metajack avatar metajack commented on August 16, 2024

I'm attempting to use this on https://github.com/libra/libra and it's failing with a similar error:

❯ cargo udeps
Error: StrErr("current implementation cannot handle multiple crates with the same `lib` name:
`admission_control_service v0.1.0 (/Users/metajack/src/libra/admission_control/admission_control_service)`
├── "admission_control_proto" → "admission_control_proto"
├── "admission_control_proto" → "admission_control_proto"
└── ..")

But admission_control_proto is not listed twice anywhere that I can see. Looks like the error message might be incorrect?

from cargo-udeps.

est31 avatar est31 commented on August 16, 2024

PRs to fix it are welcome!

from cargo-udeps.

qryxip avatar qryxip commented on August 16, 2024

@metajack The problem can be fixed by this. (I don't know why)

   for (to_pkg, deps) in resolve.deps(from) {
+     // `Resolve::deps` rarely returns multiple same `Dependenc`ies.
+     let deps = deps.iter().collect::<BTreeSet<_>>();

But unfortunately cargo-udeps still does not work for libra because admission_control_service depends on both futures v0.1 and futures v0.3.

Error: StrErr("current implementation cannot handle multiple crates with the same `lib` name:
`admission_control_service v0.1.0 (/home/ryo/src/libra/admission_control/admission_control_service)`
└── (dev-)dependencies
    ├── "futures03" → "futures"
    ├── "futures" → "futures"
    └── ..")
[dependencies]
futures = "0.1.28"
futures03 = { version = "=0.3.0-alpha.17", package = "futures-preview" }

from cargo-udeps.

qryxip avatar qryxip commented on August 16, 2024

Still not working even though replacing futures v0.1 with futures01.
Though I wrote the error, The error should be probably a warning.

Error: StrErr("current implementation cannot handle multiple crates with the same `lib` name:
`libra_wallet v0.1.0 (/home/ryo/src/libra/client/libra_wallet)`
└── (dev-)dependencies
    ├── "rust-crypto" → "crypto"
    ├── "libra_crypto" → "crypto"
    └── ..")

from cargo-udeps.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.