Skip to content

Commit

Permalink
Fork jsonwebtoken until Sergio's patch lands
Browse files Browse the repository at this point in the history
(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:
briansmith/ring#619
briansmith/ring#535
  • Loading branch information
anxiousmodernman committed May 1, 2018
1 parent 9056a29 commit 80e0fec
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"

0 comments on commit 80e0fec

Please sign in to comment.