Can't cargo install app
Morgan-iv opened this issue · comments
Alexey Ivushkin commented
- OpenEthereum version: master (d4a74d2) and stable (41aee5a)
- Operating system: Linux
- Installation: built from source
- Fully synchronized: no info, app did not build
- Network: no info, app did not build
- Restarted: no info, app did not build
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`.
Alexey Ivushkin commented
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
Hello, could you try cargo install --features final --locked --path .
Here you can find an explanation: rust-lang/cargo#7302
rakita commented
I would say this is solved, closing it.