-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Build fails - map_or in basic-authority #11667
Comments
Hmm, builds fine here. I'm at commit The migration in
|
My rustc is at rustc 1.40.0 (73528e339 2019-12-16), so I'll see if upgrading it helps. |
Ok, a rustup update got me 1.43.0 which builds openethereum fine. But now I"m back to: 59324 Illegal instruction (core dumped) Now, how exactly to I build it "the issue should be solved by building from source for your architecture." as mentioned in issue 9684 (https://github.com/openethereum/openethereum/issues/9684)? Just did an "export PORTABLE=OFF" followed by cargo clean followed by "cargo build --release --features final" and I'm waiting for it to get done. Last time was 59 minutes. |
BTW, with the crashing build, openethereum works with --version and/or --help, but crashes if it tries to actually DO something. |
lscpu gives: cat /proc/cpuinfo gives 8 copies of: processor : 0 |
Looks like 11395 might have a clue... https://github.com/openethereum/openethereum/issues/11395 I'm afraid the new versions require the aes-ni CPU feature. You could try to build the binary from source and remove this and perhaps enable target-cpu=native. "this" links to But no details on where/how to "enable target-cpu=native". |
That worked. The key for me was to edit .cargo/config and remove the +aes from the rustflags setting in the [target.x86_64-unknown-linux-gnu] section. Before: rustflags = ["-Ctarget-feature=+aes,+sse2,+ssse3"] |
Did the following commands from the readme to build from source.
$ git clone https://github.com/openethereum/openethereum
$ cd openethereum
$ cargo build --release --features final
And the build fails with the following messages:
Compiling basic-authority v0.1.0 (/home/ldeffenb/openethereum/ethcore/engines/basic-authority)
error[E0599]: no method named
map_or
found for typestd::result::Result<&std::vec::Vec<EmptyStep>, &rlp::error::DecoderError>
in the current scope--> ethcore/engines/authority-round/src/lib.rs:1283:58
|
1283 | let empty_steps = header_empty_steps(header).as_ref().map_or(String::new(), |empty_steps| {
| ^^^^^^ help: there is a method with a similar name:
map_err
error: aborting due to previous error
I cannot run the pre-built binary as it fails with an "illegal instruction" in my Ubuntu VM.
The old parity-tech\parity builds just fine on this machine, so I believe my rust environment is up to date. Unfortunately the newly-downloaded pre-built parity from openethereum updated my database BEFORE crashing, so I need to build one that works with the updated database.
The text was updated successfully, but these errors were encountered: