Still not building without that fix in v5.6.0. Every fresh AWS instance got same error. Building Docker image with local machine got same error. And because it’s not possible to apply that fix with Dockerfile I had to spawn an AWS instance, hit build command until that error appears, then apply the fix, hit build command again, get the binaries to my Mac, then build Docker image with those binaries. Annoying.
FYI, I have set up a build script for aarch64 at GitHub - hhanh00/zcashd-aarch64
The build is fully automated and verified to be clean of any code change.
Is this for cross-building from x86 or building natively on aarch64? I’m trying to do the latter.
Sure, but I don’t see why. In any case, my link is for other people who could be interested in a premade build.
No changes that I am aware of.
Well… I probably did this a few times:
$ sudo apt update $ sudo apt upgrade
On v5.6.1, that error still persist when building natively on aarch64.
time HOST=aarch64-linux-gnu ./zcutil/build.sh
For ref here is how long it takes my notebook to cross compile the latest zcashd for a raspi4:
Beside that obvious compiling problem since v5.5.0 without any fix in sight, i’m having another issue here. Successfully built binaries does not work once transferred to another aarch64 machine:
zcashd: chainparamsbase.cpp:86: const CBaseChainParams &BaseParams(): Assertion `pCurrentBaseParams' failed. Aborted
Provided binary tarball (for x86) seems to have another executable called ‘zcash-fetch-params’ that i don’t see after building on aarch64. Here’s 5 executables that i moved to another machine, previously these were enough to run zcash normally:
zcashd zcash-cli zcash-tx zcashd-wallet-tool zcash-inspect
Do i miss anything?
Can we have a bit more attention to this architecture?
Are you trying to locate an executable called ‘zcash-fetch-params’? I just double-checked my RasPi4 build… it’s ./zcutil/fetch-params.sh. That needs to be run first after a clean build on a new machine.
Also, I’d like to get more details on your setup. I took a fresh Raspberry Pi 4, installed Ubuntu and followed the directions to compile from Zcashd & Zcash-cli on Raspberry Pi — Zcash Documentation 5.6.1 documentation. It compiled with no issues for the latest zcashd build.
I don’t have Rasp Pi, i’m trying to build on ARM instance on AWS.
Yes i followed that guide for Rasp Pi, which is only guide for aarch64, and still get same error that needs mentioned fix. I even rebooted the VM before compiling as recommended. Same problem with Linux VM on macOS (apple silicon).
Another problem is that the compiled binaries are not portable as they used to be. This is also true on x86. I would have to compile them again on every machine I want to run zcash on. My guess is an issue with statistically linked libraries.
zcash-fetch-params is the executable shipped with the official tarball downloaded from Zcash, not the shell script in zcutil folder. That executable does not exist in
src folder after successful compiling. I don’t think that’s the cause of portability issue, but i’m asking any way.
I was getting this same error trying to build v5.6.1 on rpi4 8gb running Ubuntu Server 23. The only thing that worked was your solution to copy the file over after doing a ./zcutil/clean.sh and then rebuilding. Thank you!