CentOS 6.4 下源码安装gcc-4.8.1

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路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值