android ndk - How to cross compile FFTW3 for AArch64 (with NDK)? -
i have followed this blog , did succeed in cross compiling fftw3 arm v7-a. however, when came aarch64, failed in c compiler check.
running config_shell=/bin/bash /bin/bash ./configure --disable-shared --enable-maintainer-mode --host=arm-eabi --enable-single --enable-neon host_alias=arm-eabi cc=arm-linux-androideabi-gcc -o2 -march=armv7-a -mfpu=neon -mfloat-abi=softfp --sysroot=$ndk_root/platforms/android-l/arch-arm/ -fpie -pie -lm --no-create --no-recursion configure: warning: if wanted set --build type, don't utilize --host. if cross compiler detected cross compile mode used checking bsd-compatible install... /usr/bin/install -c checking whether build environment sane... yes checking arm-eabi-strip... arm-linux-androideabi-strip checking thread-safe mkdir -p... /bin/mkdir -p checking gawk... gawk checking whether create sets $(make)... yes checking whether enable maintainer-specific portions of makefiles... yes checking build scheme type... x86_64-unknown-linux-gnu checking host scheme type... arm-unknown-eabi checking arm-eabi-gcc... arm-linux-androideabi-gcc -o2 -march=armv7-a -mfpu=neon -mfloat-abi=softfp --sysroot=$ndk_root/platforms/android-l/arch-arm/ -fpie -pie -lm checking whether c compiler works... no configure: error: in `$fftw_root': configure: error: c compiler cannot create executables why did check cc=arm-linux-androideabi-gcc instead of $cc have set? because misunderstood --host flag in configure? set --host=aarch64
fftw3 bug 25 can worked around adding command-line argument configure script call:
./configure .... neon_cflags=-d__arm_neon__
this because status checks -mfpu=neon if neon_cflags not empty, , code expects __arm_neon__ set.
that said, there other blockers downwards road, because there no aarch64 simd back upwards code available. so, until there is, compiling fftw3 in aarch64 mode futile ;)
android-ndk configure fftw
No comments:
Post a Comment