undefined symbol: blsMultiVerifyFinal
### Has this worked before in a previous version?
beta.0
## 馃敩 Minimal Reproduction
Run beta.1 with arm64
## 馃敟 Error
ubuntu@ubuntu:/home/prysm$ ./prysm.sh beacon-chain --version
Latest Prysm version is v1.0.0-beta.1.
Beacon chain is up to date.
Verifying binary integrity.
beacon-chain-v1.0.0-beta.1-linux-arm64: OK
gpg: Signature made Mon Nov 2 11:51:00 2020 CST
gpg: using RSA key 0AE0051D647BA3C1A917AF4072E33E4DF1A5036E
gpg: Good signature from "Preston Van Loon " [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 0AE0 051D 647B A3C1 A917 AF40 72E3 3E4D F1A5 036E
Verified /home/prysm/dist/beacon-chain-v1.0.0-beta.1-linux-arm64 has been signed by Prysmatic Labs.
Starting Prysm beacon-chain --version
./prysm.sh: symbol lookup error: ./prysm.sh: undefined symbol: blsMultiVerifyFinal
## 馃實 Your Environment
**Operating System:**
linux-arm64
What version of Prysm are you running? (Which release)
v1.0.0-beta.1
Anything else relevant (validator index / public key)?
It looks like Herumi pre-compiled archives for ARM64 were not updated.
Here's a patch to prevent this from happening in the future.
diff --git a/third_party/herumi/bls_eth_go_binary.BUILD b/third_party/herumi/bls_eth_go_binary.BUILD
index cf2057a9e..08ca708f1 100644
--- a/third_party/herumi/bls_eth_go_binary.BUILD
+++ b/third_party/herumi/bls_eth_go_binary.BUILD
@@ -153,7 +153,7 @@ go_library(
"@com_github_wealdtech_go_eth2_types_v2//:__pkg__",
],
clinkopts = select({
- "@io_bazel_rules_go//go/platform:linux": ["-Wl,--unresolved-symbols=ignore-all"],
+ "@prysm//fuzz:fuzzing_enabled": ["-Wl,--unresolved-symbols=ignore-all"],
"//conditions:default": [],
}),
)
Note to ARM users, we have built "hotfix" binaries for beta.1. These binaries are built from commit b852bdb588f35845f9857d18de53def49c6ebb2c.
Use this environment variable with the prysm script to access the hotfix binaries.
USE_PRYSM_VERSION=v1.0.0-beta.1-hotfix
The binaries are also available for download:
https://prysmaticlabs.com/releases/beacon-chain-v1.0.0-beta.1-hotfix-linux-arm64
https://prysmaticlabs.com/releases/beacon-chain-v1.0.0-beta.1-hotfix-linux-arm64.sha256
https://prysmaticlabs.com/releases/beacon-chain-v1.0.0-beta.1-hotfix-linux-arm64.sig
https://prysmaticlabs.com/releases/validator-v1.0.0-beta.1-hotfix-linux-arm64
https://prysmaticlabs.com/releases/validator-v1.0.0-beta.1-hotfix-linux-arm64.sha256
https://prysmaticlabs.com/releases/validator-v1.0.0-beta.1-hotfix-linux-arm64.sig
https://prysmaticlabs.com/releases/slasher-v1.0.0-beta.1-hotfix-linux-arm64
https://prysmaticlabs.com/releases/slasher-v1.0.0-beta.1-hotfix-linux-arm64.sha256
https://prysmaticlabs.com/releases/slasher-v1.0.0-beta.1-hotfix-linux-arm64.sig
Most helpful comment
Note to ARM users, we have built "hotfix" binaries for beta.1. These binaries are built from commit b852bdb588f35845f9857d18de53def49c6ebb2c.
Use this environment variable with the prysm script to access the hotfix binaries.
The binaries are also available for download:
https://prysmaticlabs.com/releases/beacon-chain-v1.0.0-beta.1-hotfix-linux-arm64
https://prysmaticlabs.com/releases/beacon-chain-v1.0.0-beta.1-hotfix-linux-arm64.sha256
https://prysmaticlabs.com/releases/beacon-chain-v1.0.0-beta.1-hotfix-linux-arm64.sig
https://prysmaticlabs.com/releases/validator-v1.0.0-beta.1-hotfix-linux-arm64
https://prysmaticlabs.com/releases/validator-v1.0.0-beta.1-hotfix-linux-arm64.sha256
https://prysmaticlabs.com/releases/validator-v1.0.0-beta.1-hotfix-linux-arm64.sig
https://prysmaticlabs.com/releases/slasher-v1.0.0-beta.1-hotfix-linux-arm64
https://prysmaticlabs.com/releases/slasher-v1.0.0-beta.1-hotfix-linux-arm64.sha256
https://prysmaticlabs.com/releases/slasher-v1.0.0-beta.1-hotfix-linux-arm64.sig