Centos 7.6 源码编译安装 GCC 10.3.0

您所在的位置:网站首页 源码编译器 Centos 7.6 源码编译安装 GCC 10.3.0

Centos 7.6 源码编译安装 GCC 10.3.0

2023-10-27 10:57| 来源: 网络整理| 查看: 265

文章目录 安装环境安装说明安装相关包安装依赖库 准备相关 `GCC`下载并解压加入依赖库环境变量添加动态链接库安装依赖包 编译安装 `GCC`

Centos7.6 Yum 安装的默认 GCC 版本为 4.8.5 ,如果需要使用 GCC 的最新特性,则需要源码安装 GCC 最新版。编译过程中解决不少报错,最终有了本文的实测成功记录。

安装环境 系统:CentOS 7.6.1810软件:GCC 10.3.0依赖软件:gmp 、 mpfr 、 libmpc 安装说明

C++17 : GCC7完全支持, GCC6 和 GCC5 部分支持, GCC6 支持度当然比 GCC5 高, GCC4 及以下版本不支持。 C++14 : GCC5 就可以完全支持, GCC4 部分支持, GCC3 及以下版本不支持。 C++11 : GCC4.8.1 及以上可以完全支持。 GCC4.3 部分支持, GCC4.3 以下版本不支持。 高版本的 GCC 向下兼容,支持低版本的 C++ 标准。现在很多服务器 Yum 里的 GCC 版本是 4.8.5 ,也就是可以完全支持 C++11 了,部分支持 C++14 ,不支持 C++17 。

安装相关包 安装依赖库 Yum 安装 GCC 、 GCC-C++ 的 C/C++ 语言编译环境以及所需的依赖库

预先安装旧版 GCC 以及编译时所需的依赖库,最后工作在进行卸载

# 安装EPEL源 yum install -y epel-release # 安装工具 yum install -y vim wget gcc gcc-c++ make autoconf automake zip bzip2 # 安装基础编译软件 yum install -y gcc-gnat libgcc libgcc.i686 glibc-devel bison flex m4 texinfo build-essential 准备相关 GCC

编译过程是非常耗时的(本机耗时 6 小时完成编译),因此如果读者选用此方式安装 GCC ,则在执行 make 命令时一定要安排合适的时间。

下载并解压 wget -P '/usr/local/src' https://ftp.gnu.org/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.gz \ && cd /usr/local/src \ && tar -zxvf gcc-10.3.0.tar.gz -C '/usr/local/src' \ && cd gcc-10.3.0 加入依赖库环境变量 echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64' >> /etc/profile 使环境变量立即生效 source /etc/profile 添加动态链接库 vim /etc/ld.so.conf

添加以下内容

include ld.so.conf.d/*.conf /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64

重新搜索当前系统上所有库文件搜索路径下的库文件,并生成缓存

ldconfig -v 安装依赖包 检查和下载 GCC 依赖环境 # 下载安装 GCC 所需要的依赖包(如 gmp、mpfr、mpc 等) # 一定观察此命令的执行结果,保证其确实是将 gmp、mpfr、mpc 等依赖包成功下载下来。 ./contrib/download_prerequisites > gmp-6.1.0.tar.bz2: OK > mpfr-3.1.4.tar.bz2: OK > mpc-1.0.3.tar.gz: OK > isl-0.18.tar.bz2: OK > All prerequisites downloaded successfully. 编译安装依赖包(可忽略) cd /usr/local/src/gcc-10.3.0/gmp-6.1.0 ./configure --prefix=/usr/local/gmp-6.1.0 make && make install cd /usr/local/src/gcc-10.3.0/mpfr-3.1.4 ./configure --prefix=/usr/local/mpfr-3.1.4 --with-gmp=/usr/local/gmp-6.1.0 make && make install cd /usr/local/src/gcc-10.3.0/mpc-1.0.3 ./configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4 make && make install cd /usr/local/src/gcc-10.3.0/isl-0.18 ./configure --prefix=/usr/local/isl-0.18 --with-gmp=/usr/local/gmp-6.1.0 make && make install 编译安装 GCC cd /usr/local/src/gcc-10.3.0 \ && mkdir build && cd build \ && ../configure --enable-threads=posix --enable--long-long --enable-languages=c,c++ --disable-checking --disable-multilib # 如果GCC依赖包已经进行了上一步编译操作,则执行以下命令: ../configure --prefix=/usr/local/gcc-10.3.0 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4 --with-mpc=/usr/local/mpc-1.0.3 --with-isl=/usr/local/isl-0.18 --enable-threads=posix --enable--long-long --enable-languages=c,c++ --disable-checking --disable-multilib --enable-threads=posix 使c++异常能处理多线程代码 --enable--long-long 设定gcc数据类型大小 –-enable-languages 表示你要让你的gcc支持那些语言 –-disable-checking 生成的编译器在编译过程中不做额外检查,也可以使用 *–enable-checking=xxx* 来增加一些检查 –-disable-multilib 不生成编译为其他平台可执行代码的交叉编译器。 # 整个编译过程,根据你的机器配置,可能要等十几分钟到一个小时不等; # 4为当前服务器每颗物理CPU中的核心数,以实际为准。 make -j 4 yum -y remove gcc gcc-c++ # 安装前卸载原来的GCC make install # 由此就成功安装了 10.3.0 版本的 GCC 编译器。需要注意的是,如果此时读者直接执行 gcc --version,则 GCC 版本仍会显示之前安装的版本。操作系统重启之后,GCC 版本就会自行更正过来。 配置环境变量 echo 'export PATH=/usr/local/gcc-10.3.0/bin:$PATH' >> /etc/profile exit # 执行后需要重启终端窗口 检查GCC版本

重新登录后检查当前 GCC 版本

gcc -v

作者:白小七羽 原文链接:https://geek.xiaoqy.com/404.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3