androideabi-4.8 missing in android-ndk-r11c

Issue #127 resolved
Iwan Gabovitch
created an issue

Hi, I'm trying to build 0.10.1 on Linux

$ $ANDROID_NDK/ndk-build
[armeabi] Compile++      : love <= love.cpp
make: /home/myusername/android-ndk-r11c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++: Command not found
/home/myusername/android-ndk-r11c/build/core/build-binary.mk:462: recipe for target 'obj/local/armeabi/objs/love/src/love.o' failed
make: *** [obj/local/armeabi/objs/love/src/love.o] Error 127

I'm guessing this is easily solved by using a previous version of the NDK but perhaps it is possible to use whichever is available.

My limited grep skills weren't able to figure out whether ndk or love-android-sdl2 is the one requesting the 4.8 version.

Comments (4)

  1. Iwan Gabovitch reporter

    On Linux I was able to work around. In android-ndk-r11c/toolchains do:

    ln -s arm-linux-androideabi-4.9/ arm-linux-androideabi-4.8
    

    or just renaming (or copying) the folder might work as well.

    This compiles for a while but unfortunately then I get

    error: ./obj/local/armeabi/libfreetype.a(ftbase.o): multiple definition of 'FT_Load_Glyph'
    

    and similar errors http://codepad.org/v1QWp9CW

    EDIT: NDK r11 r10e 9c all get the multiple definitions errors as well unfortunately (9c doesn't require the 4.9->4.8 move)

    The original issue was also reported in https://love2d.org/forums/viewtopic.php?f=4&t=82259

  2. Daniel Byron

    I was able to work around this by changing variables

    • NDKVER in jni/LuaJIT-2.1/buildandroid.sh
    • NDK_TOOLCHAIN_VERSION in jni/Application.mk
    • NDK_TOOLCHAIN in jni/libtheora-1.2.0alpha1/ndkenv.sh

    Although your solution of symlinking 4.9 to 4.8 is also valid.

    I then ran into the same multiple definition errors that you are, which I seem to have managed to work around by adding

    LOCAL_LDFLAGS := -Wl,--allow-multiple-definition

    to jni/love/Android.mk

  3. Log in to comment