paritytech / substrate-contracts-node

Minimal Substrate node configured for smart contracts via pallet-contracts.
The Unlicense
124 stars 145 forks source link

Duplicate definitions with name is_soa in trust-dns-proto causing build failure for contracts-node #188

Closed Cupnfish closed 1 year ago

Cupnfish commented 1 year ago

I tried to install contracts-node using the command cargo +nightly install contracts-node --git https://github.com/paritytech/substrate-contracts-node.git, but I encountered the following error:

error[E0592]: duplicate definitions with name `is_soa`
   --> /Users/cupnfish/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/trust-dns-proto-0.22.0/src/rr/record_data.rs:55:17
    |
55  | #[derive(Debug, EnumAsInner, PartialEq, Clone, Eq)]
    |                 ^^^^^^^^^^^ duplicate definitions for `is_soa`
...
994 |     pub fn is_soa(&self) -> bool {
    |     ---------------------------- other definition for `is_soa`
    |
    = note: this error originates in the derive macro `EnumAsInner` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0592`.
error: could not compile `trust-dns-proto` (lib) due to previous error
warning: build failed, waitingfor other jobs to finish...
error: failed to compile `contracts-node v0.25.0 (https://github.com/paritytech/substrate-contracts-node.git#8d13ddef)`, intermediate artifacts can be found at `/var/folders/8h/rjmx7xj532g3sd1kvzrh18p80000gn/T/cargo-installTv34kM`

It seems that there is a duplicate definition of the function is_soa in the trust-dns-proto crate, which is causing a build failure for contracts-node.

Here is some additional information:

Could you please take a look and see if there is a way to resolve this issue? Let me know if you need any additional information. Thanks!

Cupnfish commented 1 year ago

The new version is now functioning properly.