Closed ayghri closed 1 year ago
You must have /usr/aarch64-linux-gnu/bin/as
. Currently it is missing.
aarch64 toolchain needed: https://wiki.gentoo.org/wiki/Android/SharkBait/Building_a_toolchain_for_aarch64-linux-android
Simple asm crosscompiler from will fit.
Not for Android.
I'd be grateful if you could share some links on how to do it. The Android Developer website is all over the place on this.
Asm compiler is not related to Android toolchain.
equery belongs /usr/aarch64-linux-gnu/bin/as
Did it work?
Nope it didn't. But it was a good hint.
In Debian, /usr/aarch64-linux-gnu/bin/as
is provided by binutils-aarch64-linux-gnu
.
By looking for how to get that file on Gentoo I came across this one https://wiki.gentoo.org/wiki/User:Zulu_Foxtrott/ARM64/Blocks/Host
You'd expect that the binaries to be in /usr/aarch64-linux-gnu
, but they were not.
I found them in /usr/x86_64-pc-linux-gnu/aarch64-linux-gnu/binutils-bin/2.40/
So I went ahead and edited pixman
recipe:
...
set(PIXMAN_CFLAGS ${PIXMAN_CFLAGS} "-DUSE_ARM_A64_NEON=1" "-fno-integrated-as" "-B" "/usr/x86_64-pc-linux-gnu/aarch64-linux-gnu/binutils-bin/2.40/")
Now the arm64-v8a compiles successfully!
I'm guessing there is a cleaner way to doing it... but it works
Actually that is the best way to do this.
Maybe better way would be finding pixman implementation which can be compiled with NDK. I found this one but it seems to be very outdated (version 0.30 was released more that 10 years ago).
I appreciate the help 🙏
Ok, should be fine after 8d685809dd47360142d23d0f086401104c9ebb16 . Pixman 0.43.4 can work with clang's own asm compiler.
I followed the usual process, then opened the project using a fresh install of Android Studio and attempted to build the APK.
I got (only showing arm64-v8a)
System: