From 80e0fecc395efcdf8ac6fac3ca3bdf17dc5a9ef0 Mon Sep 17 00:00:00 2001 From: Coleman McFarland Date: Mon, 30 Apr 2018 21:27:34 -0700 Subject: [PATCH] Fork jsonwebtoken until Sergio's patch lands (Or something like it). Rocket and jsonwebtoken depend on different versions of `cookie`, and those two versions depend on different versions of `ring`, and `ring` has a policy of not being linked more than once into a binary. You'll get an error like this: ``` error: multiple packages link to native library `ring-asm`, but a native library can be linked only once package `ring v0.11.0` ... which is depended on by `cookie v0.9.2` ... which is depended on by `rocket v0.3.9` ... which is depended on by `changes v0.1.0 (file:///home/coleman/Code/Rust/changes)` links to native library `ring-asm` package `ring v0.12.1` ... which is depended on by `jsonwebtoken v4.0.1` ... which is depended on by `changes v0.1.0 (file:///home/coleman/Code/Rust/changes)` also links to native library `ring-asm` ``` My workaround: fork `jsonwebtoken` and depend on an older `ring` that Rocket transitively depends on, v0.11.0 Refs: https://github.com/briansmith/ring/pull/619 https://github.com/briansmith/ring/issues/535 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index c4fc0ccc..065098e1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ error-chain = { version = "0.11", default-features = false } serde_json = "1.0" serde_derive = "1.0" serde = "1.0" -ring = { version = "0.12.0", features = ["rsa_signing", "dev_urandom_fallback"] } +ring = { version = "0.11.0", features = ["rsa_signing", "dev_urandom_fallback"] } base64 = "0.9" untrusted = "0.5" chrono = "0.4"