终于成功编译gcc5.1.0

  • 三步搞定,网上一堆资料,但太啰嗦,而且没有必要所有组件都自定义编译。
  • 下载&编译

下载地址:
https://gcc.gnu.org/gcc-5/

  1.  ./contrib/download_prerequisites  
  2. ./configure --prefix=/tools --disable-multilib
  3. make && make install

第一步,是安装一些必要的前置项。否则需要自己去下载前置项,并配置

第二步,这个最容易错误,刚开始加了很多config选项,结果很容易就出错了

另外,因为是在阿里云虚拟主机上编译,virtual os很多内存都不够用,这样会在第3步出错,

“error:2"之类的信息,可以通过增加swap来实现:

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

总结:

遇到错误都是在make阶段中的。而make阶段出错,主要2大类原因,一是依赖项没有安装或者内存不足oom,被系统kill掉,二是configure,configure选项很重要,很容易导致编译不通过。

configure 时--prefix目录基本都是需要的,因为,和当前的linux系统不兼容。

  • 新旧gcc,g++共存设置(注,一般不要直接移除原有的gcc和g++)
#然后配置新旧gcc哪个先用
update-alternatives --install /usr/bin/g++ g++ /tools/bin/g++ 40
update-alternatives --install /usr/bin/gcc gcc /tools/bin/gcc 40

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4.7 30
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++ 30

#确认上述操作
update-alternatives --config gcc
update-alternatives --config g++
 

相关推荐