Deprecated ABI armeabi (a.k.a. not supported Thumb mode `vmrs r3,fpscr')

Create issue
Issue #152 new
Former user created an issue
./gradlew build

:love:externalNativeBuildRelease
  building /home/carlo/src/gamedev/brightside/packaging/love-android-sdl2/love/build/intermediates/ndkBuild/release/obj/local/armeabi/libopenal.so
/tmp/ccl8VV0J.s: Assembler messages:
/tmp/ccl8VV0J.s:597: Error: selected processor does not support Thumb mode `vmrs r3,fpscr'
/tmp/ccl8VV0J.s:613: Error: selected processor does not support Thumb mode `vmrs r3,fpscr'
/tmp/ccl8VV0J.s:628: Error: selected processor does not support Thumb mode `vmsr fpscr,r3'
/tmp/ccl8VV0J.s:660: Error: selected processor does not support Thumb mode `vmsr fpscr,r3'
make: *** [/home/carlo/src/gamedev/brightside/packaging/love-android-sdl2/love/build/intermediates/ndkBuild/release/obj/local/armeabi/objs/openal/Alc/helpers.o] Error 1
make: *** Waiting for unfinished jobs....

:love:externalNativeBuildRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':love:externalNativeBuildRelease'.
> Build command failed.
  Error while executing '/opt/android-ndk/ndk-build' with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/home/carlo/src/gamedev/brightside/packaging/love-android-sdl2/love/src/jni/Android.mk NDK_APPLICATION_MK=/home/carlo/src/gamedev/brightside/packaging/love-android-sdl2/love/src/jni/Application.mk APP_ABI=armeabi NDK_ALL_ABIS=armeabi NDK_DEBUG=0 APP_PLATFORM=android-9 NDK_OUT=/home/carlo/src/gamedev/brightside/packaging/love-android-sdl2/love/build/intermediates/ndkBuild/release/obj NDK_LIBS_OUT=/home/carlo/src/gamedev/brightside/packaging/love-android-sdl2/love/build/intermediates/ndkBuild/release/lib -j2 /home/carlo/src/gamedev/brightside/packaging/love-android-sdl2/love/build/intermediates/ndkBuild/release/obj/local/armeabi/libopenal.so}
  Android NDK: android-9 is unsupported. Using minimum supported version android-14.    
  [armeabi] Compile thumb  : openal <= helpers.c
  [armeabi] Compile thumb  : openal <= mixer.c
  [armeabi] Compile thumb  : openal <= mixer_c.c
  /tmp/ccl8VV0J.s: Assembler messages:
  /tmp/ccl8VV0J.s:597: Error: selected processor does not support Thumb mode `vmrs r3,fpscr'
  /tmp/ccl8VV0J.s:613: Error: selected processor does not support Thumb mode `vmrs r3,fpscr'
  /tmp/ccl8VV0J.s:628: Error: selected processor does not support Thumb mode `vmsr fpscr,r3'
  /tmp/ccl8VV0J.s:660: Error: selected processor does not support Thumb mode `vmsr fpscr,r3'
  make: *** [/home/carlo/src/gamedev/brightside/packaging/love-android-sdl2/love/build/intermediates/ndkBuild/release/obj/local/armeabi/objs/openal/Alc/helpers.o] Error 1
  make: *** Waiting for unfinished jobs....


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

It might be an upstream issue tho: https://github.com/kcat/openal-soft/issues/132

Comments (8)

  1. Henrique Gemignani

    Another "workaround" is to simply drop the armeabi architecture, since only that one fails to compile.

  2. fluffy

    How does one go about dropping armeabi? I tried removing it from all the Application.mk files I could find but it's still trying to build armeabi for OpenAL, and I couldn't find it being declared explicitly in any other files.

    I really don't care about armeabi support (since my game generally needs newer CPUs anyway) so that seems like a nicer option for me than overriding the NDK version.

  3. Henrique Gemignani

    When building via gradle, on the love project there´s this section:

        defaultConfig {
            ndk {
                // Specifies the ABI configurations of your native
                // libraries Gradle should build and package with your APK.
                // If changing this list, remember to also change the list on the app project.
                abiFilters 'x86', 'armeabi-v7a'
            }
        }
    

    Adding additional architectures is not trivial: you need to compile LuaJIT for these as well, but dropping is simple.

  4. Martin Felis repo owner

    The change suggested by @henriquegemignani is correct. armeabi is being removed from the NDK and all Android 4.4+ devices should not be affected. Future versions of LÖVE for Android will also remove armeabi.

  5. Log in to comment