Skip to content

cyclic dependency getrandom ===> getrandom #231

@jrouaix

Description

@jrouaix

Hello, I have a pretty big workspace with lots of cumulated dependencies and I got stuck on a cyclic dependency conundrum :

error: cyclic package dependency: package `getrandom v0.2.3` depends on itself. Cycle:
package `getrandom v0.2.3`
    ... which satisfies dependency `getrandom = "^0.2.0"` of package `ahash v0.7.4`
    ... which satisfies dependency `ahash = "^0.7.0"` of package `hashbrown v0.11.2`
    ... which satisfies dependency `hashbrown = "^0.11"` of package `indexmap v1.7.0`
    ... which satisfies dependency `indexmap = "^1.5"` of package `serde_json v1.0.68`
    ... which satisfies dependency `serde_json = "^1.0"` of package `wasm-bindgen v0.2.78`
    ... which satisfies dependency `wasm-bindgen = "^0.2.78"` of package `js-sys v0.3.55`
    ... which satisfies dependency `js-sys = "^0.3"` of package `getrandom v0.2.3`
    ... which satisfies dependency `getrandom = "^0.2"` of package `rand_core v0.6.3`
    ... which satisfies dependency `rand_core = "^0.6.0"` of package `rand_chacha v0.3.1`
    ............

Basically, through some features activation in random crates, getrandom is dependent on getrandom ...

Tried to remove cargo lock, to update all dependencies at the same time.

Checked if this was true (it is, there is a path with optional features activations that lead from getrandom to ... getrandom!)

Do you have an idea on how to get around this problem ?

P.S. : I'm really sorry to ask you this question, you are obviously not responsible for a dependency cycle going around multiple other crates all over crates.io. If you just have a clue on how to solve this or a hint to a channel I can ask this question to somebody able to answer, it's just about very fine for me ...

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