2017-04-10 1 views
0

J'ai une compilation SDL2 de base pour la configuration android.Construire SDL2 pour android (sur OSX 10.11.6) w/ndk-construire fatalement des erreurs sur différents fichiers SDL chaque fois

Quand je lance ndk-build, il crache un journal d'erreur binaire (ci-dessous dans son intégralité), avec la ligne clé (je crois) étant ceci:

[armeabi] Compile thumb : SDL2 <= SDL_dummyaudio.c 
fatal error: error in backend: Cannot select: 0x7fb5830ed1c0: i32 = ARMISD::SSAT 0x7fb5830d9080, Constant:i32<15> 

Chaque fois que je compile (littéralement re tapez ndk-build), il erreurs à un endroit différent. Par exemple:

[armeabi] Compile thumb : SDL2 <= SDL_clipboardevents.c 
fatal error: error in backend: Cannot select: 0x7fbf7187dfc0: i32 = ARMISD::SSAT 0x7fbf72152880, Constant:i32<15> 

Et je peux juste taper nkd-build et il ne cesse de sautiller, la moindre erreur dans des endroits différents (je l'ai essayé simplement le faire comme 50 fois d'affilée pour voir ce qui se passerait, et il doesn ne semblent jamais se stabiliser ou se résoudre).

J'ai redémarré l'ordinateur, fait ndk-build clean, tout ce que je peux penser.

Voici la sortie du premier exemple. Toutes les autres sorties sont très similaires.

Android NDK: WARNING: APP_PLATFORM android-23 is larger than android:minSdkVersion 10 in ./AndroidManifest.xml  
make[1]: Entering directory `/Users/phildo/Desktop/doodle_plus/android-project' 
[armeabi] StaticLibrary : libstdc++.a 
[armeabi-v7a] StaticLibrary : libstdc++.a 
[x86] StaticLibrary : libstdc++.a 
[armeabi] Compile thumb : SDL2 <= SDL.c 
[armeabi] Compile thumb : SDL2 <= SDL_assert.c 
[armeabi] Compile thumb : SDL2 <= SDL_error.c 
[armeabi] Compile thumb : SDL2 <= SDL_hints.c 
[armeabi] Compile thumb : SDL2 <= SDL_log.c 
[armeabi] Compile thumb : SDL2 <= SDL_audio.c 
[armeabi] Compile thumb : SDL2 <= SDL_audiocvt.c 
[armeabi] Compile thumb : SDL2 <= SDL_audiodev.c 
[armeabi] Compile thumb : SDL2 <= SDL_audiotypecvt.c 
[armeabi] Compile thumb : SDL2 <= SDL_mixer.c 
[armeabi] Compile thumb : SDL2 <= SDL_wave.c 
[armeabi] Compile thumb : SDL2 <= SDL_androidaudio.c 
[armeabi] Compile thumb : SDL2 <= SDL_dummyaudio.c 
fatal error: error in backend: Cannot select: 0x7fb5830ed1c0: i32 = ARMISD::SSAT 0x7fb5830d9080, Constant:i32<15> 
    0x7fb5830d9080: i32 = add 0x7fb5830d9240, 0x7fb5830ed000 
    0x7fb5830d9240: i32 = sra 0x7fb5830ed3f0, Constant:i32<8> 
     0x7fb5830ed3f0: i32 = add 0x7fb5830d8600, 0x7fb5830d8a60 
     0x7fb5830d8600: i32 = add 0x7fb5830dc110, 0x7fb5830ed8c0 
      0x7fb5830dc110: i32 = mul 0x7fb5830d9320, 0x7fb5830dc500 
      0x7fb5830d9320: i32,ch = load<LD2[%15](tbaa=<0x7fb5824276a8>), sext from i16> 0x7fb582724e90, 0x7fb5830d94e0, undef:i32 
       0x7fb5830d94e0: i32 = add 0x7fb5830d91d0, Constant:i32<2> 
       0x7fb5830d91d0: i32,ch = CopyFromReg 0x7fb582724e90, Register:i32 %vreg2 
        0x7fb5830dc960: i32 = Register %vreg2 
       0x7fb5830d8670: i32 = Constant<2> 
       0x7fb5830d8bb0: i32 = undef 
      0x7fb5830dc500: i32,ch = load<LD2[%12](tbaa=<0x7fb582445738>), sext from i16> 0x7fb582724e90, 0x7fb5830d8f30, undef:i32 
       0x7fb5830d8f30: i32 = add 0x7fb5830d8d70, Constant:i32<6> 
       0x7fb5830d8d70: i32,ch = CopyFromReg 0x7fb582724e90, Register:i32 %vreg0 
        0x7fb5830ed690: i32 = Register %vreg0 
       0x7fb5830dcab0: i32 = Constant<6> 
       0x7fb5830d8bb0: i32 = undef 
      0x7fb5830ed8c0: i32 = mul 0x7fb5830d90f0, 0x7fb5830dc810 
      0x7fb5830d90f0: i32,ch = load<LD2[%2](tbaa=<0x7fb5824276a8>), sext from i16> 0x7fb582724e90, 0x7fb5830d91d0, undef:i32 
       0x7fb5830d91d0: i32,ch = CopyFromReg 0x7fb582724e90, Register:i32 %vreg2 
       0x7fb5830dc960: i32 = Register %vreg2 
       0x7fb5830d8bb0: i32 = undef 
      0x7fb5830dc810: i32,ch = load<LD2[%6](tbaa=<0x7fb582445738>), sext from i16> 0x7fb582724e90, 0x7fb5830dc420, undef:i32 
       0x7fb5830dc420: i32 = add 0x7fb5830d8d70, Constant:i32<4> 
       0x7fb5830d8d70: i32,ch = CopyFromReg 0x7fb582724e90, Register:i32 %vreg0 
        0x7fb5830ed690: i32 = Register %vreg0 
       0x7fb5830dbfc0: i32 = Constant<4> 
       0x7fb5830d8bb0: i32 = undef 
     0x7fb5830d8a60: i32 = srl 0x7fb5830d8c20, Constant:i32<24> 
      0x7fb5830d8c20: i32 = sra 0x7fb5830d8600, Constant:i32<31> 
      0x7fb5830d8600: i32 = add 0x7fb5830dc110, 0x7fb5830ed8c0 
       0x7fb5830dc110: i32 = mul 0x7fb5830d9320, 0x7fb5830dc500 
       0x7fb5830d9320: i32,ch = load<LD2[%15](tbaa=<0x7fb5824276a8>), sext from i16> 0x7fb582724e90, 0x7fb5830d94e0, undef:i32 
        0x7fb5830d94e0: i32 = add 0x7fb5830d91d0, Constant:i32<2> 


        0x7fb5830d8bb0: i32 = undef 
       0x7fb5830dc500: i32,ch = load<LD2[%12](tbaa=<0x7fb582445738>), sext from i16> 0x7fb582724e90, 0x7fb5830d8f30, undef:i32 
        0x7fb5830d8f30: i32 = add 0x7fb5830d8d70, Constant:i32<6> 


        0x7fb5830d8bb0: i32 = undef 
       0x7fb5830ed8c0: i32 = mul 0x7fb5830d90f0, 0x7fb5830dc810 
       0x7fb5830d90f0: i32,ch = load<LD2[%2](tbaa=<0x7fb5824276a8>), sext from i16> 0x7fb582724e90, 0x7fb5830d91d0, undef:i32 
        0x7fb5830d91d0: i32,ch = CopyFromReg 0x7fb582724e90, Register:i32 %vreg2 

        0x7fb5830d8bb0: i32 = undef 
       0x7fb5830dc810: i32,ch = load<LD2[%6](tbaa=<0x7fb582445738>), sext from i16> 0x7fb582724e90, 0x7fb5830dc420, undef:i32 
        0x7fb5830dc420: i32 = add 0x7fb5830d8d70, Constant:i32<4> 


        0x7fb5830d8bb0: i32 = undef 
      0x7fb5830ed070: i32 = Constant<31> 
      0x7fb5830dc8f0: i32 = Constant<24> 
     0x7fb5830d9010: i32 = Constant<8> 
    0x7fb5830ed000: i32 = mul 0x7fb5830d8b40, 0x7fb5830ed700 
     0x7fb5830d8b40: i32,ch = load<LD2[%24](tbaa=<0x7fb582445738>), zext from i16> 0x7fb582724e90, 0x7fb5830ed5b0, undef:i32 
     0x7fb5830ed5b0: i32 = add 0x7fb5830d8d70, Constant:i32<2> 
      0x7fb5830d8d70: i32,ch = CopyFromReg 0x7fb582724e90, Register:i32 %vreg0 
      0x7fb5830ed690: i32 = Register %vreg0 
      0x7fb5830d8670: i32 = Constant<2> 
     0x7fb5830d8bb0: i32 = undef 
     0x7fb5830ed700: i32 = ARMISD::CMOV 0x7fb5830dc730, 0x7fb5830dcce0, Constant:i32<0>, Register:i32 %CPSR, 0x7fb5830d8750 
     0x7fb5830dc730: i32 = add 0x7fb5830dcce0, Constant:i32<-16> 
      0x7fb5830dcce0: i32 = AssertZext 0x7fb5830dca40, ValueType:ch:i8 
      0x7fb5830dca40: i32,ch = CopyFromReg 0x7fb582724e90, Register:i32 %vreg1 
       0x7fb5830d8de0: i32 = Register %vreg1 
      0x7fb5830d8910: i32 = Constant<-16> 
     0x7fb5830dcce0: i32 = AssertZext 0x7fb5830dca40, ValueType:ch:i8 
      0x7fb5830dca40: i32,ch = CopyFromReg 0x7fb582724e90, Register:i32 %vreg1 
      0x7fb5830d8de0: i32 = Register %vreg1 
     0x7fb5830ed540: i32 = Constant<0> 
     0x7fb5830d88a0: i32 = Register %CPSR 
     0x7fb5830d8750: glue = ARMISD::CMPZ 0x7fb5830dc650, Constant:i32<0> 
      0x7fb5830dc650: i32 = and 0x7fb5830dcce0, Constant:i32<8> 
      0x7fb5830dcce0: i32 = AssertZext 0x7fb5830dca40, ValueType:ch:i8 
       0x7fb5830dca40: i32,ch = CopyFromReg 0x7fb582724e90, Register:i32 %vreg1 
       0x7fb5830d8de0: i32 = Register %vreg1 
      0x7fb5830d9010: i32 = Constant<8> 
      0x7fb5830ed540: i32 = Constant<0> 
    0x7fb5830dc2d0: i32 = Constant<15> 
In function: MS_ADPCM_nibble 
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation) 
Android clang version 3.8.275480 (based on LLVM 3.8.275480) 
Target: armv5te-none-linux-android 
Thread model: posix 
InstalledDir: /usr/local/Cellar/android-ndk/r14/toolchains/llvm/prebuilt/darwin-x86_64/bin 
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. 
clang: note: diagnostic msg: 
******************** 

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: 
Preprocessed source(s) and associated run script(s) are located at: 
clang: note: diagnostic msg: /var/folders/g6/j2xtb5gn5vg_0cx52d35t1ww0000gn/T/SDL_wave-aa9d26.c 
clang: note: diagnostic msg: /var/folders/g6/j2xtb5gn5vg_0cx52d35t1ww0000gn/T/SDL_wave-aa9d26.sh 
clang: note: diagnostic msg: 

******************** 
make[1]: *** [obj/local/armeabi/objs/SDL2/src/audio/SDL_wave.o] Error 70 

Répondre

0

Ok. Il s'avère que c'est un bug dans LLVM? La façon de le résoudre jusqu'à ce qu'il soit résolu est de mettre NDK_TOOLCHAIN_VERSION := 4.9 dans jni/Application.mk pour passer à gcc jusqu'à ce qu'il soit corrigé.