I'm using an extern crate in my Substrate 1.0 runtime module (based on node-template
) which gives a compile error of
duplicate lang item in crate 'std' (which 'myexternalcrate' depends on): 'panic_impl'.
= note: first defined in crate `sr_io` (which `node_template_runtime` depends on).
If I understand the message correctly then I think this might be a common problem if developers want to include external crates that rely on std
features which already implemented in sr-io
, but I'm not sure if that is correct.
I have seen this issue here, which appears to have been fixed in sr-io
but that does not appear to be the cause here.
Is their another approach to resolve this?
EDIT: Adding in changes to Cargo.toml
We are attempting to pull in crate called nacl
[dependencies]
nacl = {version = "0.3.0", default-features = false}
Added in lib.rs
extern crate nacl;
in the runtime module
use nacl::public_box::*;
The crate you are trying to use (rust-nacl
) does not support no_std
, and thus cannot be used within the Substrate runtime environment.
The options are:
no_std
and has similar functionality: https://crates.io/keywords/no_std
no_std
(which may not be that bad depending on the crate).If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With