Open BlockMechanic opened 3 years ago
I cannot reproduce this with the latest develop
branch on a Raspberry Pi 4 with these instructions. The build completes without errors. Note that the build artifacts from building depends
may be in the depends/aarch64-unknown-linux-gnu
dir instead of depends/aarch64-linux-gnu
, depending on your distro.
Please provide more details on your environment and the steps you are following if you are still getting errors.
Please note I am building for aarch64-linux-android
not aarch64-linux-gnu
More info :
Configuring chia_bls...
-- Android: Targeting API '30' with architecture 'arm', ABI 'armeabi-v7a', and processor 'armv7-a'
-- Android: Selected unified Clang toolchain
-- The C compiler identification is Clang 9.0.8
-- The CXX compiler identification is Clang 9.0.8
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
The above may be the source of the issue, instead of ABI aarch64 and processor armv8-a , its configuring for 'armeabi-v7a', and processor 'armv7-a'
And since we do not use the bls origin repository, instead relying on a custom this means the issue could be in the configure script for bls
On 32 bit Raspberry Pi OS Buster I can confirm that the following works:
sudo apt-get install curl build-essential libtool autotools-dev automake pkg-config python3 bsdmainutils cmake
cd depends
make -j
cd ..
./autogen.sh
./configure --prefix=`pwd`/depends/armv7l-unknown-linux-gnueabihf
make -j
The host triplet I got from the result of the first make -j
. Omitting the prefix for configure results in an error.
The build daemon runs, unfortunately, near the end of synchronization it aborts because there is not enough memory. Retried it many times. Limitation of 32 bit system I think. When I find the time, will also try on 64 bit beta of Raspberry Pi OS.
I don't understand the actual issue here. @BlockMechanic please provide more details of your environment (OS, etc)
Is this issue still occuring? Does it happen when building depends, or when building src?
At this point android builds aren't REALLY supported, so I wouldn't be surprised if there are issues that need to be solved.
I ended up here for builds on Raspberry Pi.
@PastaPastaPasta Enviroment :- ubuntu 20.04 droplet with 4GB ram all other dependencies are downloading and compiling just fine, as i mentioned earlier the issue is likely the failure to configure for the aarch64-linux-android triplet
Hey, @BlockMechanic if you can provide me a bitcoin PR to backport or something like that, we can maybe get this fixed
@PastaPastaPasta
https://github.com/bitcoin/bitcoin/pull/16110 This added android NDK support
Hello, i note in the above quoted text that aarch64 was mentioned but never elaborated on. Was an aarch64 build ever managed ? Despite adding relevant triplets and managing to build all other dependencies, chia-bls fails for aarch64-linux-android. Is there a work around or patch out there ?
I keep getting
error: unknown type name '__uint128_t' typedef __uint128_t uint128_t;