2013-08-22 9 views
9

AWS ec2 "기타 Linux"배포판에 gcc-4.8.1을 설치하려고합니다.gcc-4.8.1을 설치하려고 할 때 "오류 2"로 종료하십시오

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 

내가 실행 '확인': 나는 (4.8.1 대신 4.6.2의 위해 수정) http://gcc.gnu.org/wiki/InstallingGCC에서 '설정'제목 아래 지침을 따라 다음 GCC-4.6.2.tar.gz를 다운로드 프로그램은 잠시 동안 실행되지만 결국 다음 오류로 종료됩니다.

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 

왜 이런 일이 벌어지고 있는지 알 수있는 사람이 있습니까? 나는 오류 메시지를 전혀 이해하지 못한다. 나는 gcc4.6.1로 그것을 만들고있다. /home/ec2-user/gcc-4.8.1_install은 내에서 명령을 실행 한 디렉토리이다.

답변

20

몇 가지 잘못하고있었습니다. 첫째, 최신 binutils를 설치하지 않았습니다.

그러나이 특별한 오류는 직장에서 OOM 킬러가 발생했습니다. 설치 중에 사용 된 피크 RAM은 EC2 마이크로 인스턴스보다 큽니다. 더 큰 인스턴스를 사용하거나 스왑을 사용하십시오.

SWAP=/tmp/swap 
dd if=/dev/zero of=$SWAP bs=1M count=500 
mkswap $SWAP 
sudo swapon $SWAP 

이것은 설치하기에 충분했던 500MB로 바뀝니다.

+1

당신이 OOMing했다는 것을 어떻게 알았습니까? "죽였다"라는 말 외에 다른 것이 있었습니까? – stalepretzel

+1

@stalepretzel 나는 그가'dmesg'를 본 것 같아, 내가 이것을 발견 할 때까지 생각하지 않았다고 생각했다.'메모리 부족 : 프로세스 2774 (genattrtab) 점수 760 점 또는 희생 아이' –