1. 准备
yum install glibc-static libstdc++-static -y 安装C和C++的静态库
yum install gcc gcc-c++ 安装旧版本gcc, c++编译器;
2. 下载gcc4.8.1.tar.gz
从官网http://gcc.gnu.org/ 中下载gcc-4.8.1.tar.gz, (下载网站http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.1/gcc-4.8.1.tar.bz2)例如存放在目录/data/tools中
cd /data/tools
tar -jxvf gcc-4.8.1.tar.bz2 解压缩
cd gcc-4.8.1
3. 安装依赖库
./contrib/download_preprequisites #执行这个脚本会帮助我们下载, 配置gcc必要的三个依赖库.
#执行完之后会在当前目录发现这三个文件夹
这三个依赖库分别是gmp, mpfr, mpc, 版本分别为gmp-4.3.2, mpfr-2.4.2, mpc-0.8.1, 安装顺序为gmp->mpfr->mpc
3.1 安装gmp
cd gmp-4.3.2
mkdir build
cd build
../configure --prefix=/usr/local/gcc/gmp-4.3.2
make
make install
3.2 安装mpfr
回到gcc-4.8.1
cd /data/tools/gcc-4.8.1
cd mpfr2.4.2
mkdir build
cd build
../configure --prefix=/usr/local/gcc/mpfr2.4.2 --with-gmp=/usr/local/gcc/gmp-4.3.2
make
make install
3.3 安装mpc
同样
cd mpc-0.8.1
mkdir build
cd build
../configure --prefix=/usr/local/gcc/mpc-0.8.1 --with-mpfr=/usr/local/gcc/mpfr2.4.2 --with-gmp=/usr/local/gcc/gmp-4.3.2
make
make install
4. 添加共享库路径
安装三个依赖库完毕之后记住一定要把库路径添加到 /etc/ld.so.conf文件中
vi /etc/ld.so.conf
添加
/usr/local/gcc/gmp-4.3.2/lib
/usr/local/gcc/mpfr2.4.2/lib
/usr/local/gcc/mpc-0.8.1/lib
添加路径完之后一定要执行
ldconfig
让新添加的路径进入动态链接库cache
5. 安装gcc
cd /data/tools/gcc-4.8.1
mkdir build
cd build
../configure --prefix=/usr/local/gcc --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++
make
make install
make的时间超久; 耐心等待;
如果出现什么错误, 按照错误提示进行纠正,
gcc.gnu.org 中有一个类似buglist的东西,那里应该都可以帮忙解决
有什么错误最后别执行make clean哦;
6. 卸载旧版本的gcc
yum remove gcc
yum remove gcc-c++
updatedb
链接新版本的gcc
cd /usr/bin
sudo ln -s /usr/local/gcc/bin/gcc gcc
sudo ln -s /usr/local/gcc/bin/g++ g++
7. 添加man帮助
vi /etc/man.conf
添加gcc的man路径