2013-10-17 18 views
5

Bei der Kompilierung Android Kernel für Nexus 7 auf Mountain Lion 10.8.4 lief ich in fataler Fehler: 'Elf.h' Datei nicht gefunden Ausgabe:'elf.h' Datei nicht gefunden Fehler beim Kompilieren von Android-Kernel für Nexus 7 auf Mac OS X

/Volumes/Android/WORKING_DIRECTORY/device/asus/grouper/tegra/ 
[[email protected]]$ make 
scripts/kconfig/conf --silentoldconfig Kconfig 
    CHK  include/linux/version.h 
    UPD  include/linux/version.h 
    CHK  include/generated/utsrelease.h 
    UPD  include/generated/utsrelease.h 
    Generating include/generated/mach-types.h 
    CC  kernel/bounds.s 
    GEN  include/generated/bounds.h 
    CC  arch/arm/kernel/asm-offsets.s 
    GEN  include/generated/asm-offsets.h 
    CALL scripts/checksyscalls.sh 
    CC  scripts/mod/empty.o 
    HOSTCC scripts/mod/mk_elfconfig 
scripts/mod/mk_elfconfig.c:4:10: fatal error: 'elf.h' file not found 
#include <elf.h> 
     ^
1 error generated. 
make[2]: *** [scripts/mod/mk_elfconfig] Error 1 
make[1]: *** [scripts/mod] Error 2 
make: *** [scripts] Error 2 

Wer weiß, wie dies zu beheben, so dass die Kernel-Kompilierung weiter?

+0

... eine Elf-Bibliothek installieren? –

+0

sollte ich MacPorts installieren? Ich sehe ** elftoolchain ** drin. Oder könntest du mich auf die Standalone-Elf-Bibliothek für OS X verweisen? – derekg

+0

http://www.mr511.de/software/english.html –

Antwort

6

ich meine eigene Frage zu beantworten, weil ich bin Abhilfe für die fehlende elf.h Datei gefunden:

cd /Volumes/Android/WORKING_DIRECTORY/external/elfutils/libelf/ 
$ sudo cp -a elf.h /usr/include 

Mit einer Kopie von ‚elf.h‘ Datei nun in/usr/include die Zusammenstellung geht weiter für eine Weile, aber dann wieder mit einem anderen Fehler stoppt:

arch/arm/mach-tegra/sleep.S: Assembler messages: 
arch/arm/mach-tegra/sleep.S:240: Error: selected processor does not support ARM mode `smC#0' 
make[1]: *** [arch/arm/mach-tegra/sleep.o] Error 1 
make: *** [arch/arm/mach-tegra] Error 2 

Nicht sicher, was zu diesem letzten Fehler obwohl zu tun. Außer

http://forum.xda-developers.com/showthread.php?t=1774035

:

UPDATE: Ich gab zu versuchen, Android-Kernel direkt unter OS X. Statt zu kompilieren, installierte ich 64-Bit-Ubuntu auf VirtualBox und anschließend auf dieser Seite Anweisungen Wie gesagt, ich habe VirtualBox und nicht VMWare Player benutzt, wie es die obige Seite vorgeschlagen hat. Es funktionierte gut und ich hatte keine Probleme mit dem Netzwerk und war in der Lage, ssh in Ubuntu, einfach kompilierten Kernel zurück zu OS X zu verschieben.

Ich habe auch auf diese Seite verwiesen, um die richtige Kernel-Quelle für mein Gerät (Grouper), vorkompilierte gcc und Syntax für den Befehl make (make tegra3_android_defconfig):

http://source.android.com/source/building-kernels.html

ich hoffe, dass diese Antwort einige Zeit jemand retten.

+0

DANKE SO VIEL MAN. es hat mir wirklich Zeit gespart. (thumbs_up) –

+0

Sparte mir eine Menge Zeit. Vielen Dank. –