解決安裝Mysql的”c : fatal error: Killed signal terminated program cc1plus compilation “錯誤(轉)


在Linux上安裝MySQL、PHP時,服務器內存較小的情況下(0.5G或者1G內存時),會出現“c : fatal error: Killed signal terminated program cc1plus compilation “錯誤,可以通過增大服務器SWAP大小來解決,本文是解決辦法。

對於make編譯,如果是阿里雲centos主機內存小於2G的,可能會在make編譯到45%、63%時報錯;如果是騰訊雲centos主機內存為1G時,可能會在make編譯到64%時報錯。

===============阿里雲測試結果(引用)==================

c++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
make: *** [all] Error 2


================騰訊雲測試結果(實測)=================

g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [sql/CMakeFiles/sql_gis.dir/gis/crosses.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql_gis.dir/all] Error 2
make: *** [all] Error 2

以上均為內存不足所致,可通過設置2G交換分區來解決該問題。

解決方案:

#獲取要增加的2G的SWAP文件塊
dd if=/dev/zero of=/swapfile bs=1k count=2048000
#創建SWAP文件
mkswap /swapfile 
#激活SWAP文件
swapon /swapfile   
#查看SWAP信息是否正確
swapon -s  
#添加到fstab文件中讓系統引導時自動啟動
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab

swapfile文件的路徑在/var/下,編譯完后, 如果不想要交換分區了, 可以刪除。

刪除交換分區:

swapoff /swapfile
rm -rf /swapfile

至此,問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM