linux升级gcc

705 阅读1分钟

准备环境

  1. make
  2. gcc
  3. g++

若环境中缺少g++,有可能会报如下错误:

configure: error: error verifying int64_t uses long long
make[2]: *** [configure-stage1-gcc] Error 1
make[2]: Leaving directory `/tmp/gcc_build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/tmp/gcc_build'
make: *** [all] Error 2

升级步骤

  1. 下载你需要的gcc源码,mirror.sergal.org/gnu/gcc/ 到这个地址去找就可以了。这里我们假设安装的是gcc-4.9.3.tar.gz
  2. tar -xzvf gcc-4.9.3.tar.gz 然后 cd gcc-4.9.3
  3. ./contrib/download_prerequisites 这一步是下载所需的依赖,由于是国内的网站可能会在线安装不了(如果在线安装成功,直接进入第四步),这里讲下手动安装,安装gcc需要5个组件,download_prerequisites 的任务就是下载这些组件分别是:
cloog-0.18.1
gmp-4.3.2  http://ftp.gnu.org/pub/gnu/gmp/
isl-0.12.2
mpc-0.8.1 http://ftp.gnu.org/gnu/mpc/
mpfr-2.4.2 https://www.mpfr.org/history.html

如果遇到download_prerequisites里面的地址无法访问 推荐自行下载这些组件到目录gcc-4.9.3/,解压。 然后将download_prerequisites里面的wget全部注释掉,再执行 :

./contrib/download_prerequisites
  1. 做好上面的准备就可以configure了,建议另建一个目录来存放编译文件。默认安装目录是 /usr/local/ 可以使用 –prefix 修改自定义路径。
cd ..
mkdir gcc-4.9.3-build-temp
cd gcc-4.9.3-build-temp
../gcc-4.9.3/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4  #启动四个线程来编译gcc
make install
  1. 升级gdb

因为版本不匹配等原因导致调试不能 print 变量提示找不到符号,以及其他莫名其妙的问题。
这里我选择安装的时候gdb-7.9 ,安装gdb需要4个组件 ,python,python-devel ,texinfo,ncurses-devel

yum install texinfo
yum install ncurses-devel
yum install python
yum install python-devel
wget http://mirrors.ustc.edu.cn/gnu/gdb/gdb-7.9.tar.gz
tar xzvf gdb-7.9.tar.gz
cd gdb-7.9
./configure --with-python
make
make install

参考文献

centOS系统gcc升级步骤(亲自测试成功)
升级 gcc 出错排查
linux 编译安装GCC4.9.3(完整版)