Cannot compile for Android NDK 25 on armv8a
- I compile with latest NDK 25
- The glib version is github tag 2.76.1
armv7 can be compiled successfully, but armv8a cannot.
Even if v7 can be compiled successfully, it encounters the problem that '-Wno-pointer-sign' must be configured to compile successfully. I don't know whether ignoring the warning of pointer conversion will cause errors when using it.
build.sh
#!/bin/bash
set -e
export ANDROID_NDK_HOME="/Volumes/Samsung-T5/sdk/android/ndk/25.2.9519653"
export PKG_CONFIG_PATH="/Volumes/Samsung-T5/code/MobiPkg/Compile/install/android/arm64-v8a/lib/pkgconfig"
export CC="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android21-clang"
export CXX="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android21-clang++"
export AR="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar"
export AS="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android21-clang"
export RANLIB="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib"
export STRIP="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip"
export NM="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm"
export LD="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld"
export HOST="aarch64-linux-android"
export CFLAGS="-fPIC -O2 -Wall"
export CXXFLAGS="-fPIC -O3 -std=c++17"
cd /Volumes/Samsung-T5/code/MobiPkg/Compile/example/git-meson/glib/source/glib
meson setup /Volumes/Samsung-T5/code/MobiPkg/Compile/example/git-meson/glib/build/android/arm64-v8a \
--prefix="/Volumes/Samsung-T5/code/MobiPkg/Compile/install/android/arm64-v8a" \
--cross-file="/Volumes/Samsung-T5/code/MobiPkg/Compile/example/git-meson/glib/build/cross-file/cross-android-arm64-v8a.ini" \
--buildtype="release" \
--default-library="both"
meson compile -C /Volumes/Samsung-T5/code/MobiPkg/Compile/example/git-meson/glib/build/android/arm64-v8a -j 8
meson install -C /Volumes/Samsung-T5/code/MobiPkg/Compile/example/git-meson/glib/build/android/arm64-v8a
cross-file
[host_machine]
system = 'android'
cpu_family = 'aarch64'
cpu = 'aarch64'
endian = 'little'
[properties]
c_ld = 'gold'
cpp_ld = 'gold'
needs_exe_wrapper = false
sys_root = '/Volumes/Samsung-T5/sdk/android/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/sysroot'
[binaries]
c = '/Volumes/Samsung-T5/sdk/android/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android21-clang'
cpp = '/Volumes/Samsung-T5/sdk/android/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android21-clang++'
ar = '/Volumes/Samsung-T5/sdk/android/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar'
strip = '/Volumes/Samsung-T5/sdk/android/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip'
[built-in options]
c_std = 'c11'
cpp_std = 'c++11'
c_args = ['-fPIC','-O2','-Wall','-I/Volumes/Samsung-T5/code/MobiPkg/Compile/install/android/arm64-v8a/include']
cpp_args = ['-fPIC','-O3','-std=c++17','-I/Volumes/Samsung-T5/code/MobiPkg/Compile/install/android/arm64-v8a/include']
c_link_args = ['-L/Volumes/Samsung-T5/code/MobiPkg/Compile/install/android/arm64-v8a/lib']
cpp_link_args = ['-L/Volumes/Samsung-T5/code/MobiPkg/Compile/install/android/arm64-v8a/lib']
Attachment:
btw, I comment the closed issue, but without any response, it seems that the closed issue is not receiving attention?
Edited by CaiJingLong