准备环境
- make
- gcc
- 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
升级步骤
- 下载你需要的gcc源码,mirror.sergal.org/gnu/gcc/ 到这个地址去找就可以了。这里我们假设安装的是gcc-4.9.3.tar.gz
- tar -xzvf gcc-4.9.3.tar.gz 然后 cd gcc-4.9.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
- 做好上面的准备就可以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
- 升级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