centos6.5上升级gcc到gcc4.9.2

阅读更多

 

 

 

源码安装需要编译首先需要安装一个gcc
yum install gcc gcc-c++ 一般centos这个默认会装成4.4.7的版本比较低
安装完后先面开始安装

 

1. 下载gcc-4.9.2 源码包

http://mirror.hust.edu.cn/gnu/ 这里找到gcc目录下载4.9.2tar.bz2包
2. 解压源码

tar jxvf gcc-4.9.2.tar.bz2   


3. 下载依赖库这里可以使用两种方法我是用了手动下载的方法然后在configure的时候加上参数

../configure --prefix=/usr/local/gcc --with-gmp=/usr/local/gmp-6.0.0/ --with-mpfr=/usr/local/mpfr-3.1.2/ --with-mpc=/usr/local/mpc-1.0.2/  --with-system-zlib --disable-multilib --enable-languages=c,c++

 

自动下载方法如下

  1. cd gcc-4.9.2/  
  2. cd contrib/  
  3. ./download_prerequisites   


4. 配置依赖库

  1. mv gmp-6.0.0/ ../gmp  
  2. mv mpfr-3.1.2/ ../mpfr  
  3. mv mpc-1.0.2/ ../mpc                    

备注这几个版本不一定是这个样子我没有用自动下载的 这样的做法好处是,不用单独编译gmp、mpfr和mpc三个包,放在gcc源码下面一起编译。

5.执行configure命令,产生makefile

 

 

  1. ../configure --prefix=/usr/local/gcc --with-gmp=/usr/local/gmp-6.0.0/ --with-mpfr=/usr/local/mpfr-3.1.2/ --with-mpc=/usr/local/mpc-1.0.2/  --with-system-zlib --disable-multilib --enable-languages=c,c++

  2. --enable-languages指定了支持哪些语言可以编译

 

6. 编译。

 

  1. make -j4  

7. 安装。

 

  1. make install     


8 .编译时的错误处理。
错误一:

 

make[2]: *** [configure-stage1-zlib] Error 1
make[2]: Leaving directory `/home/fenghaixiong/Downloads/gcc-4.9.2/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/fenghaixiong/Downloads/gcc-4.9.2/build'
make: *** [all] Error 2

解决办法:

安装如下内容:

 

 

  1. yum install gcc-c++  

错误2

configure: error: cannot compute suffix of object files: cannot compile

这个是由于mpc、gmp和mpfr 库找不到

在当前的shell中执行

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.0.2/lib:/usr/local/gmp-6.0.0/lib:/usr/local/mpfr-3.1.2/lib,

当然你可以吧这个加入到环境变量中去,我在这个问题上犯了两次错误了。
 
错误三
warning: zlib.h: No such file or directory
后面又跟着很多未定以的符号错误 这是因为没有安装libz-devel的包
sudo yum install libz-devel  就好了
安装完成后切换到gcc的bin目录下./gcc  -v查看版本信息输出如下:
Using built-in specs.
COLLECT_GCC=./gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr/local/gcc --with-gmp=/usr/local/gmp-6.0.0/ --with-mpfr=/usr/local/mpfr-3.1.2/ --with-mpc=/usr/local/mpc-1.0.2/ --with-system-zlib --disable-multilib --enable-languages=c,c++
Thread model: posix
gcc version 4.9.2 (GCC)
 
 
 
 

 

你可能感兴趣的:(gcc,linux)