Closed oscartbeaumont closed 6 years ago
Have you tried to delete your Cargo.lock
file before updating your dependencies? It usually helps in situations like this.
I'm not really depending on anything with the webpki 0.18.0-alpha, so the next step would be to try to downgrade it to version 0.17.0.
I deleted my 'cargo.lock' file and my 'target' directory and I have rebuild the application. I am still getting the same error.
My Cargo.toml Dependencies:
rocket = { version = "*", features = ["tls"] }
rocket_codegen = "*"
a2 = { git = "https://github.com/pimeys/a2/" }
Yeah, I found the same when I was digging into the issue. It seems the encryption library ring has a native dependency ring-asm
, which you can't have holding two different versions in the same project.
Here the issue is rocket, which wants to use a crate called hyper-sync-rustls, which in turn has a dependency to a ring
version that is ancient in ring standards (ring forces everybody to update fast, new versions containing important security fixes). And rocket seem to depend on an ancient version of hyper
(0.10) through the hyper-sync-rustls
, not using the more recent reqwest written by the Hyper author @seanmonstar. I mean hyper 0.11 has been available more than a year already and it's a complete refactoring and a massive change how 0.10 worked.
So what I would suggest: try digging into the rocket dependencies and see if you can upgrade the problematic dependencies. In this crate the tokio-rustls
depends on a recent version of ring
, and I'm not so happy downgrading encryption libraries.
Thanks For Your All Your Help
One more pointer! Follow this issue in Rocket:
I Have A Project I Am Working on Where I Have A Rocket Webserver And I Would Also Like To Be Able To Send Push Notifications. Is There A Way For This Module Conflict (In The Code Below) To Be Fixed Here or Would I Have To Contact The Developers Of Rocket.