天天看点

linux下gcc升级

由于最近公司老大安排对gcc进行升级,所以就整理下这篇文档,希望对有些盆友有些许帮助

1 安装gmp4.3.2

 tar jxvf gmp-4.3.2.tar.bz2

 mkdir /usr/local/gmp-4.3.2

cd /usr/local/gmp-4.3.2

/opt/gmp-4.3.2/configure --prefix=/usr/local/gmp-4.3.2

make  && make install 

2 安装mpfr2.4.2

tar jxvf mpfr2.4.2.tar.bz2

 mkdir /usr/local/mpfr-2.4.2

cd /usr/local/mpfr-2.4.2

/opt/mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2

make && make install

3安装mpc0.8.1

tar jxvf gmpc0.8.1.tar.bz2

mkdir /usr/local/mpc-0.8.1

cd /usr/local/mpc-0.8.1

 /opt/mpc-0.8.1/configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2

4安装GCC 配置安装选项

将gcc-4.6.1.tar.bz2放到/opt文件夹下解压

cd /opt

 tar xjvf gcc-4.6.1.tar.bz2

创建安装目录

 mkdir /usr/local/gcc-4.6.1/

进入安装目录

cd /usr/local/gcc-4.6.1/

配置安装文件

/opt/gcc-4.6.1/configure --prefix=/usr/local/gcc-4.6.1 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1

编译安装文件

 make

大概十几分钟后出现第一个报错

第二个错误出现了:

/usr/local/gcc-4.6.1/i686-pc-linux-gnu/libgcc/config.log

ctrl+f查找error 发现如下错误

/----------------------------------------------------------------------------------

/usr/local/gcc-4.6.1/./gcc/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory

configure:3058: $? = 1

----------------------------------------------------------------------------------/

在网上找到了解决方法,需要添加环境变量LD_LIBRARY_PATH以指出前面三个库的位置,键入以下命令:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib

再次编译约三个小时后成功了

5执行安装gcc

 make install

如果不出意外,那么到现在应该安装成功了,不过还是不能使用新版本的gcc,因为新版本的gcc还没有加入命令搜索路径中!

8.建立软链接

sudo ln -s /usr/local/gcc-4.6.1/bin/gcc gcc461

sudo ln -s /usr/local/gcc-4.6.1/bin/g++ g++461

9.添加环境变量

打开/etc目录下的bashrc文件添加如下代码:

LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-4.6.1/lib

export LD_LIBRARY_PATH

继续阅读