При попытке установить gcc-4.8.1 завершите работу с ошибкой 2

Я пытаюсь установить gcc-4.8.1 в дистрибутив AWS ec2 "Other Linux". Я скачал 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 - это каталог, из которого я запускал команды.

2 ответа

Решение

Я делал несколько вещей неправильно. Во-первых, я не установил последнюю версию binutils.

Эта конкретная ошибка, однако, была убийцей OOM на работе. Пиковая RAM, используемая во время установки, больше, чем у микро-экземпляра EC2. Используйте больший экземпляр или используйте swap:

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

Это поменяет 500 МБ, что было достаточно для моей установки.

Возможно вы забыли установить gcc-c++, попробуйте с помощью команды yum -y install gcc-c++

Другие вопросы по тегам