9

AWS ec2「その他の Linux」ディストリビューションに gcc-4.8.1 をインストールしようとしています。gcc-4.6.2.tar.gz をダウンロードし、http: //gcc.gnu.org/wiki/InstallingGCC (4.6.2 ではなく 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

「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 は、コマンドを実行したディレクトリです。

4

2 に答える 2

21

私はいくつか間違ったことをしていました。まず、最新の binutils がインストールされていませんでした。

ただし、この特定のエラーは、OOM キラーとして機能していました。インストール中に使用されるピーク RAM は、EC2 マイクロ インスタンスのそれよりも大きくなります。より大きなインスタンスを使用するか、スワップを使用します。

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

これは 500 MB でスワップされ、私のインストールには十分でした。

于 2013-09-27T16:49:48.367 に答える