Linux下GCC 4.9.3安装

CentOS 6默认的GCC版本是4.4.7,而很多软件都需要依赖较高版本的GCC及其库文件。在这里介绍一种方法安装GCC 4.9.3。
先在网上下载gcc

$ wget http://mirrors-usa.go-parts.com/gcc/releases/gcc-4.9.3/gcc-4.9.3.tar.bz2 -P ~/software/

解压:

$ tar jxf ~/software/gcc-4.9.3.tar.bz2

安装GCC 4.9.3需要依赖GMP、MPFR、MPC、ISL和CLooG软件较高的版本。使用下面的命令则会下载相应的软件,利用GCC的安装。

$ cd gcc-4.9.3/

$ ./contrib/download_prerequisites

下面进行编译:

$ mkdir ../gcc-build

$ cd ../gcc-build

设定将gcc安装到 /opt/gcc-4.9.3目录中。若需要编译32位库文件,则添加参数--enable-multilib,若仅仅编译64位库文件,则添加参数--disable-multilib。最好添加--with-system-zlib参数来使用系统自带的zlib,否则容易编译错误。
$ ../gcc-4.9.3/configure --prefix=/opt/sysoft/gcc-4.9.3 --enable-multilib --with-system-zlib

$ make -j 4
多线程运行,加快软件的编译速度。

$ make install

$ cd ../ && rm  -rf gcc-build/gcc-4.9.3/ 

接着添加环境变量:

$ echo 'export PKG_CONFIG_PATH=/opt/sysoft/gcc-4.9.3/lib/pkgconfig:$PKG_CONFIG_PATH' >> ~/.bashrc.gcc

$ echo 'export LD_LIBRARY_PATH=/opt/sysoft/gcc-4.9.3/lib64:/opt/sysoft/gcc-4.9.3/lib:$LD_LIBRARY_PATH' >> ~/.bashrc.gcc

$ echo 'export C_INCLUDE_PATH=/opt/sysoft/gcc-4.9.3/include:$C_INCLUDE_PATH' >> ~/.bashrc.gcc

$ echo 'PATH=/opt/sysoft/gcc-4.9.3/bin/:$PATH' >> ~/.bashrc.gcc

$ source ~/.bashrc.gcc

到这里如果一切顺利那么就证明安装完毕,但是,事实并不一定会如此顺利。
可能会遇到以下问题:
第一、若在编译的时候出现错误提示:“/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory”,则需要安装32位glibc-devel软件。若是64位CentOS系统,则安装glibc-devel.i686;若是32位CentOS系统,则是安装glibc-devel.i386。

$ sudo yum install glibc-devel.i686

第二、出现错误“../../../gcc-4.9.2/libgcc/gthr.h:148:26:fatal error: gthr-default.h: No such file or directory”, 则执行上面的3个命令:进入libgcc目录,并将该目录下的gthr-posix.h文件软链接到当前目录下gthr-default.h文件,再返回原目录。本次安装GCC 4.9.3版本未出现此错误,因此,不需要进行以上3个命令。

$ cd libgcc/

$ ln -s gthr-posix.h gthr-default.h

$ cd ..

如果,还出现其他的问题,再探讨,再总结。。。
从最开始写博客到现在,已经一年的时间,一年的时间自己在编程的道路上成长不少,对于一个非专业的人来说。但是,道路任重而道远,再接再厉吧!
同时,今天祝大家新年快乐,除夕快乐!

猜你喜欢

转载自blog.csdn.net/llh_1178/article/details/79329250