尝试安装gcc-4.8.1时,使用“错误2”退出

时间:2013-08-22 19:51:04

标签: gcc amazon-ec2 makefile ec2-ami gcc4.8

我试图在AWS ec2"其他Linux"上安装gcc-4.8.1。分配。我下载了gcc-4.6.2.tar.gz,然后按照'配置'中的说明进行操作。来自http://gcc.gnu.org/wiki/InstallingGCC的标题(修改为4.8.1而不是4.6.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

当我运行' make'时,程序会运行一段时间,但最终会退出并出现此错误:

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构建它是我从内部运行命令的目录。

1 个答案:

答案 0 :(得分:21)

我做错了几件事。首先,我没有安装最新的binutils。

然而,这个特殊的错误是OOM杀手在起作用。安装期间使用的峰值RAM大于EC2微实例的峰值RAM。使用更大的实例或使用swap:

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

这将交换500 MB,这对我的安装来说足够了。