gcc4.6 linux安装包,CentOS 5.5 手动安装 GCC4.6.2

从GCC官网下载最新版本的GCC4.6.2

http://gcc.gnu.org/

国内镜像地址:

http://mirrors.ustc.edu.cn/gnu/gcc/

首先在配置gcc的过程中会出现错误:

# ./configure --prefix=/usr/local/gcc-4.6.2

configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

说明要安装gcc需要GMP、MPFR、MPC这三个库

官网下载地址:

http://gmplib.org/

http://www.mpfr.org/

http://www.multiprecision.org/index.php?prog=mpc

由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。这里三个库我用的版本分别是gmp-5.0.3,mpfr-3.1.0和mpc-0.9。

依次解压这3个压缩包

安装gmp-5.0.3

# cd gmp-5.0.3

# ./configure --prefix=/usr/local/gmp-5.0.3

# make && make install && make clean

安装mpfr-3.1.0

# cd mpfr-3.1.0

# ./configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.3

# make && make install && make clean

安装mpc-0.9

#cd mpc-0.9

# ./configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.3 --with-mpfr=/usr/local/mpfr-3.1.0

# make && make install && make clean

安装好这三个库之后,就可以正式开始安装gcc了。

进入gcc源码目录

gcc的配置选项有很多,具体可以参考gcc源文件目录下的安装说明。这里只安装了c和c++的编译器。(如果不指定编译的语言,则会在make时不通过,爆出某些文件找不到等错误,所以还是建议在此指定编译语言为c,c++)然后开始make编译。为保险起见,需要在环境变量LD_LIBRARY_PATH添加前面三个库的位置,键入以下命令:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.3/lib:/usr/local/mpfr-3.1.0/lib

然后重新make编译,在经过漫长的1小时等待后,终于编译完成。

# ./configure --prefix=/usr/local/gcc-4.6.2 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.3 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-0.9

# make && make install && make clean

至此gcc就全部安装完成了。

不过目前还不能使用新版本的gcc,因为新版的可执行文件还没加到命令的搜索路径中。在这里我为新版的gcc和g++命令分别建立了一个软链接。进入/usr/bin目录后,键入如下命令建立软链接。

sudo ln -s /usr/local/gcc-4.6.2/bin/gcc gcc462

sudo ln -s /usr/local/gcc-4.6.2/bin/g++ g++462

这样我使用新版本gcc的时候就可以用gcc462和g++462命令,同时也可使用原来的gcc编译程序。当然这里也可以直接将/usr/bin目录下gcc,g++命令重新链接到新版本的gcc可执行文件。在正式使用之前还有最后一个工作要做,就是将前面安装的GCC-4.6.2库的路径加进环境变量LD_LIBRARY_PATH中,不然在编译程序的时候会出错。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc-4.6.2/lib

由于export方式在重启后失效,所以需要编辑/etc目录下的bashrc文件配置shell环境。

在这个文件中添加以下语句:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.3/lib:/usr/local/mpfr-3.1.0/lib:/usr/local/gcc-4.6.2/lib

export LD_LIBRARY_PATH

以上方法不佳,可以使用下面的方法:

vi /etc/ld.so.conf

添加

/usr/local/mpc-0.9/lib

/usr/local/gmp-5.0.3/lib

/usr/local/mpfr-3.1.0/lib

/usr/local/gcc-4.6.2/lib

保存退出然后执行ldconfig使更改生效

另外使用gcc-4.6.2还有如下方法:

备份原始的gcc 和 g++

# cp /usr/bin/gcc /usr/bin/gcc.bak

# cp /usr/bin/g++ /usr/bin/g++.bak

建立软链接

# cd /usr/bin

# ln -s /usr/local/gcc-4.6.2/bin/gcc gcc

# ln -s /usr/local/gcc-4.6.2/bin/g++ g++

使用后还原即可

出错处理:

make过程中报错

checking for suffix of object files... configure: error: in `/data/src/gcc/gcc-4.6.2/x86_64-unknown-linux-gnu/libgcc':

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

See `config.log' for more details.

make[2]: *** [configure-stage1-target-libgcc] Error 1

make[2]: Leaving directory `/data/src/gcc/gcc-4.6.2'

make[1]: *** [stage1-bubble] Error 2

make[1]: Leaving directory `/data/src/gcc/gcc-4.6.2'

make: *** [all] Error 2

原因修改ld.so.conf后未执行ldconfig 新加的库未起效

推荐阅读:

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值