gcc: internal compiler error: Killed (program cc1plus)

這兩天在linux下編譯apollo2.5的項目時不時會有這個錯誤

gcc: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.

幾番周折在網上找到了原因和解決辦法

  • 原因

       編譯時由於項目過於龐大,導致系統內存空間不夠,才崩掉的

  • 解決辦法

       增加一塊更大的swap分區,Swap分區是在系統的物理內存不夠用的時候,把物理內存中的一部分空間釋放出來,以供當前運行的程序使用

1)成爲超級用戶

$su - root

2)創建Swap文件

# dd if=/dev/zero of=swapfile bs=64M count=16 

64M*16 = 1G,這是創建一個1G的swap,創建一個有連續空間的交換文件。

3)激活Swap文件

#/usr/sbin/swapon swapfile

swapfile指的是上一步創建的交換文件。

到這裏已經可以繼續編譯了,如果還報錯那就再增大你的swap分區,就是增加count的大小。當然要永久生效還不夠

4)新加的Swap文件已經起作用了,但系統重新啓動以後,並不會記住前幾步的操作。因此要在/etc/fstab文件中記錄文件的名字,和Swap類型,如:

/path/swapfile none Swap sw,pri=3 0 0

5)檢驗Swap文件是否加上

/usr/sbin/swapon -s

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章