openethereum / parity-ethereum

The fast, light, and robust client for Ethereum-like networks.
Other
6.81k stars 1.68k forks source link

Can't cargo install app #11851

Closed Morgan-iv closed 4 years ago

Morgan-iv commented 4 years ago

I tried to install app from source via cargo install, but build crashed when building evm. App builds normally with just cargo build.

expected behavior

cargo install successfully built app and copied binary to $HOME/.cargo/bin

actual

cargo install failed on building evm

steps to reproduce

git clone git@github.com:openethereum/openethereum.git
cd openethereum
cargo install --features final --path . # same with --bin parity or --bin openethereum

additional info

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:971:7
    |
971 |                         ONE => a,
    |                         ^^^

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:972:7
    |
972 |                         TWO => a >> 1,
    |                         ^^^

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:973:7
    |
973 |                         TWO_POW_5 => a >> 5,
    |                         ^^^^^^^^^

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:974:7
    |
974 |                         TWO_POW_8 => a >> 8,
    |                         ^^^^^^^^^

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:975:7
    |
975 |                         TWO_POW_16 => a >> 16,
    |                         ^^^^^^^^^^

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:976:7
    |
976 |                         TWO_POW_24 => a >> 24,
    |                         ^^^^^^^^^^

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:977:7
    |
977 |                         TWO_POW_64 => a >> 64,
    |                         ^^^^^^^^^^

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:978:7
    |
978 |                         TWO_POW_96 => a >> 96,
    |                         ^^^^^^^^^^

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:979:7
    |
979 |                         TWO_POW_224 => a >> 224,
    |                         ^^^^^^^^^^^

error: to use a constant of type `ethereum_types::U256` in a pattern, `ethereum_types::U256` must be annotated with `#[derive(PartialEq, Eq)]`
   --> ethcore/evm/src/interpreter/mod.rs:980:7
    |
980 |                         TWO_POW_248 => a >> 248,
    |                         ^^^^^^^^^^^

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:972:7
    |
972 |                         TWO => a >> 1,
    |                         ^^^
    |
    = note: `#[warn(unreachable_patterns)]` on by default

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:973:7
    |
973 |                         TWO_POW_5 => a >> 5,
    |                         ^^^^^^^^^

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:974:7
    |
974 |                         TWO_POW_8 => a >> 8,
    |                         ^^^^^^^^^

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:975:7
    |
975 |                         TWO_POW_16 => a >> 16,
    |                         ^^^^^^^^^^

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:976:7
    |
976 |                         TWO_POW_24 => a >> 24,
    |                         ^^^^^^^^^^

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:977:7
    |
977 |                         TWO_POW_64 => a >> 64,
    |                         ^^^^^^^^^^

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:978:7
    |
978 |                         TWO_POW_96 => a >> 96,
    |                         ^^^^^^^^^^

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:979:7
    |
979 |                         TWO_POW_224 => a >> 224,
    |                         ^^^^^^^^^^^

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:980:7
    |
980 |                         TWO_POW_248 => a >> 248,
    |                         ^^^^^^^^^^^

warning: unreachable pattern
   --> ethcore/evm/src/interpreter/mod.rs:981:7
    |
981 |                         _ => a / b,
    |                         ^

   Compiling hyper-rustls v0.18.0
error: aborting due to 10 previous errors; 10 warnings emitted

error: could not compile `evm`.
Morgan-iv commented 4 years ago

OS: Linux Mint 20 RAM: 32 Gb rustc: 1.45.2 (d3fb005a3 2020-07-31) cargo: 1.45.1 (f242df6ed 2020-07-22) yasm: 1.3.0.48.g0094 perl: 5.30.0

rakita commented 4 years ago

Hello, could you try cargo install --features final --locked --path . Here you can find an explanation: https://github.com/rust-lang/cargo/issues/7302

rakita commented 4 years ago

I would say this is solved, closing it.