rav1e on android fails to build
Using the latest tagged docker image available 20210915065913
and building with ./buildsystem/compile.sh -l -b -a arm
(vlc-android buildscript), this gives
/sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /home/videolan/vlc-android/vlc/contrib/arm-linux-androideabi/lib/librav1e.a(compiler_builtins-6bac8bea1e56cacb.compiler_builtins.e2y8e5dy-cgu.20.rcgu.o): multiple definition of '__aeabi_idivmod'
/sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/libgcc_real.a(_divsi3.o): previous definition here
/sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /home/videolan/vlc-android/vlc/contrib/arm-linux-androideabi/lib/librav1e.a(compiler_builtins-6bac8bea1e56cacb.compiler_builtins.e2y8e5dy-cgu.20.rcgu.o): multiple definition of '__aeabi_ldivmod'
/sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/libgcc_real.a(_aeabi_ldivmod.o): previous definition here
/sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /home/videolan/vlc-android/vlc/contrib/arm-linux-androideabi/lib/librav1e.a(compiler_builtins-6bac8bea1e56cacb.compiler_builtins.e2y8e5dy-cgu.20.rcgu.o): multiple definition of '__aeabi_uidivmod'
/sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/libgcc_real.a(_udivsi3.o): previous definition here
/sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /home/videolan/vlc-android/vlc/contrib/arm-linux-androideabi/lib/librav1e.a(compiler_builtins-6bac8bea1e56cacb.compiler_builtins.e2y8e5dy-cgu.20.rcgu.o): multiple definition of '__aeabi_uldivmod'
/sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /sdk/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/libgcc_real.a(_aeabi_uldivmod.o): previous definition here
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/sdk/android-ndk-r21/build/core/build-binary.mk:725: jni/obj/local/armeabi-v7a/libvlc.so] Error 1
make: Leaving directory '/home/videolan/vlc-android/libvlc'
-
The CI currently uses docker image
20210730131708
, but I assume the build will break once the android docker image is bumped. -
Using
--disable-rav1e
results in a successful build. -
a5b9278c might be causing this, though I have not tried to build without it.