arm-eabi-gcc: não é possível executar o arquivo binário

3

Eu estou tentando construir uma ROM do AOSP 5.1.1 especificamente (Nexus 7 - garoupa). No entanto, há um tempo atrás eu fiquei preso nesta parte enquanto construí o kernel.

O seguinte comando funciona bem: make tegra3_android_defconfig O problema começa quando escrevo: make -j4

Ele bate e diz:

Fahads-MBP:tegra Fahad$ make -j4
/volumes/untitled/tegra/../WORKING_DIRECTORY/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-gcc: /volumes/untitled/tegra/../WORKING_DIRECTORY/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-gcc: cannot execute binary file
      CHK     include/linux/version.h
      CHK     include/generated/utsrelease.h
      UPD     include/generated/utsrelease.h
      HOSTCC  scripts/basic/fixdep
      Generating include/generated/mach-types.h
      CC      kernel/bounds.s
    /bin/sh: /volumes/untitled/tegra/../WORKING_DIRECTORY/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-gcc: cannot execute binary file
    make[1]: *** [kernel/bounds.s] Error 126
    make: *** [prepare0] Error 2

    #### make failed to build some targets (2 seconds) ####

eu corri o comando

chmod 777 arm-eabi-gcc

e

chmod +x arm-eabi-gcc

mas ainda não usa. Dá o mesmo não pode executar o erro de arquivo binário. Alguma sugestão?

    
por fahad 15.11.2015 / 23:10

1 resposta

1

"Não é possível executar o arquivo binário" não é sobre permissões, por isso chmod não ajudará você.

(Ah, e nunca use chmod 777 . Nunca é a solução. Se você tentar executar algo e o erro for "permissão negada", adicione permissões de execução: chmod a+x .)

Esta mensagem significa que você tem um arquivo binário (não um script) que o kernel não reconhece como um formato de programa válido. Dado o nome do diretório linux-x86 , este é um executável x86.

Dado o prompt, parece que você está tentando construir o kernel no próprio tablet ARM. Você não pode executar um executável x86 em um processador ARM. Você precisará de binários do compilador para o ARM, que não estão presentes na árvore do Android. A solução mais simples seria fazer a compilação em um PC. Se você realmente quiser fazer a compilação no tablet, obtenha os binários apropriados do compilador (para o libc correto; há muitas ABIs diferentes em plataformas ARM e identificar o caminho certo pode ser um pouco difícil).

    
por 15.11.2015 / 23:26

Tags