2013-08-22 24 views
9

Ich versuche, gcc-4.8.1 auf einer AWS ec2 "Andere Linux" -Distribution zu installieren. Ich heruntergeladen gcc-4.6.2.tar.gz und folgte dann diese Anweisungen unter ‚Konfiguration‘ die Überschrift von http://gcc.gnu.org/wiki/InstallingGCC (modifiziert für 4.8.1 statt 4.6.2): ​​Machen Sie Exits mit "Error 2", wenn Sie versuchen, gcc-4.8.1

tar xzf gcc-4.8.1.tar.gz 
cd gcc-4.8.1 
./contrib/download_prerequisites 
cd .. 
mkdir objdir 
cd objdir 
$PWD/../gcc-4.8.1/configure --prefix=$HOME/gcc-4.8.1 
make 
make install 

Wenn ich laufen ‚make‘ , läuft das Programm für einige Zeit aber schließlich mit diesem Fehler:

build/genattrtab /home/ec2-user/gcc-4.8.1_install/objdir/../gcc-4.8.1/gcc/config/i386/i386.md insn-conditions.md \ 
       -Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c 
make[3]: *** [s-attrtab] Killed 
make[3]: Leaving directory `/home/ec2-user/gcc-4.8.1_install/objdir/gcc' 
make[2]: *** [all-stage1-gcc] Error 2 
make[2]: Leaving directory `/home/ec2-user/gcc-4.8.1_install/objdir' 
make[1]: *** [stage1-bubble] Error 2 
make[1]: Leaving directory `/home/ec2-user/gcc-4.8.1_install/objdir' 
make: *** [all] Error 2 

Kann jemand Einblick in warum dies geschehen? Ich verstehe die Fehlermeldung überhaupt nicht. Ich baue es mit gcc4.6.1 und /home/ec2-user/gcc-4.8.1_install ist das Verzeichnis, in dem ich die Befehle ausgeführt habe.

Antwort

20

Ich habe ein paar Dinge falsch gemacht. Erstens hatte ich nicht die neuesten binutils installiert.

Dieser besondere Fehler war jedoch der OOM Killer bei der Arbeit. Der während der Installation verwendete Spitzen-RAM ist größer als der der EC2-Mikroinstanz. Verwenden Sie eine größere Instanz oder verwenden Sie Swap:

Dies wird in 500 MB tauschen, die für meine Installation ausreichend war.

+1

Wie hast du herausgefunden, dass du OOMing warst? Gab es etwas anderes als das Wort "Killed", das einen umkippte? – stalepretzel

+1

@stalepretzel Ich denke, er schaute auf "dmesg", dachte, dass ich nicht daran dachte, bis ich das gefunden hatte :) 'Nicht genug Speicher: Töte Prozess 2774 (genattrabt) erziele 760 oder opfer Kind' –