amd64 上での gcc 4.2 のバグ2007年06月17日 11時06分48秒

現在 7.0-CURRENT を amd64 上で使うと、大量のメモリとスワップ領域が必要になる。目安としては物理メモリ 1GB にスワップ領域が 2GB ぐらい当たりが最低らしい。

基本的な問題は gcc 4.2 の最適化によるところだ。i386 では起きない。gcc memory consumption: amd64 v i386 との実験結果が示され、「gcc に問題があり、すぐには修正できる様な問題ではない。」との回答があった。

amd64 に移行して、7.0-CURRENT に上げたときに 256MB では足りなくなるわけだ。i386 機に戻って問題が無かったのも納得がいく。

対策としては、amd64 では最適化を無効にする他ない。ただ、私のところで問題だったのは ruby が大量のメモリを消費することだった。portupgrade をするために ruby を入れ直さなければいけなかったので、他の人達のように XOrg でメモリが足りなくなるところすらたどり着いていなかったのだ。

前回