linux操作系统编译GCC5.3.0

源码编译需要的依赖

允许转载,但是请备注一下我的源URL
我的linux操作系统是centos7.5 yum源自带的gcc为4.8版本。
通过国内好人们的镜像站下载依赖,gmp,mpfr,mpc 这三个分别需要的系统版本是gmp-4.3.2,mpc-0.8.1,mpfr-2.4.2
以下为镜像站:

http://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2 ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.gz

首先需要解决依赖 依赖源码编译的顺序是 ** gmp >> mpfr >> mpc >> gcc **
首先创建一个 /usr/local/gcc-5.3.0目录 , 然后三个 分别创建/usr/local/* 目录 编译不支持在原路径编译 ** 编译格式以我为例: 我的是下载在/opt下 “/opt/“文件”/configure” make && make install **
四个都可以直接这样编译,它会默认选择路径 默认路径就是/usr/local下
也可以指定
/opt/gmp-4.3.2/configure -prefix=/usr/local/gmp-4.3.2 && make && make install
/opt/mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2/ --with-gmp=/usr/local/gmp-4.3.2 && make && make install
/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/ && make && make install
/opt/gcc-5.3.0/configure --prefix=/usr/local/gcc-5.3.0 -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 && make install
编译需要时间很长30分钟-1个小时,所以请耐心等待 可以直接./configure编译不加其他选项
编译完成后 需要root用户去 /etc/bashrc 或者 /etc/profile 。其他用户去/home/.bashrc 文件里头后者尾部添加一行
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:/usr/local/gcc-5.3.0/lib:/usr/local/gcc-5.3.0/lib64
卸载老版的gcc和gcc-c++ ,去/usr/bin目录下
创建软连接
ln -s /usr/local/gcc-5.3.0/bin/gcc gcc in -s /usr/local/gcc-5.3.0/bin/g++ g++
首先你需要find 查找一下 有没有 ** /usr/local/gcc-5.3.0/bin/gcc ** 没有的话代表你编译还是没有成功 创建完成之后然后重启
gcc -v 查看一下版本信息 如果是5.3.0 恭喜你成功了。

报错 如果报缺少依赖下们的不用细究直接装就完了。

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel re2c
其余的报错多是你命令敲错了或者是内存不足
如果内存不足就 swap 分一点

总结:

网上看好多小伙伴儿吐槽做了很长时间,我其实也弄了差不多一天的时间
原因一下几点: 官网下载的满得花时间找国内的镜像站,安装gcc5.3.0以上的不知道需要解决那些依赖, 编译的时间慢,以及编译到最后会出报错,报错信息一般都会有提示,翻译没看到就go’og’le 一下

很久没写博客了,今天更新一篇博客还有点手生,如果表达的不够清楚或者没有看懂欢迎留言讨论,如果能保住到大家希望能给一个点赞好评加关注!!

大家的点赞好评,是我写出每一篇博客的动力!!!

发布了121 篇原创文章 · 获赞 69 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/iT__SuperMan/article/details/104950855