朝阳人在港体验资本 發表於 2023-11-21 00:00:00

CentOS7系统下源码编译升级gcc(6.5.0&11.1.0)

<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS7系统下源码编译升级gcc(6.5.0&amp;11.1.0)" alt="CentOS7系统下源码编译升级gcc(6.5.0&amp;11.1.0)" border="0" height="auto" src="https://zhuji.jb51.net/uploads/img/202305/f790da869ec1323f2e2fb249185680e8.jpg" width="auto"></p>
<h3>
         一、前言</h3>
<p>
         </p>
<p>
        本文介绍在CentOS7系统下使用源码软件包编译升级GCC版本的相关操作步骤。</p>
<p>
        CentOS7默认安装的gcc版本是4.8,gcc 4.8最主要的一个特性就是全面支持C++11,如果不清楚什么用的也没关系,简单说一些C++11标准的程序都需要gcc 4.8以上版本的gcc编译器编译。很多工具依赖的是更高版本的gcc,比如编译MySQL 8.0(8.0.16以上版本是C++14标准,需gcc 5.3以上版本)、Redis 6.0.x、GRPC等。</p>
<p>
        手动编译升级gcc往往耗时长,而且不一定能成功,CentOS系统下可使用一个第三方库SCL(软件选集)的 devtoolset 快速切换gcc版本。但目前第三方库SCL的devtoolset-6版本已经结束支持,只能通过源码编译安装升级gcc 6.x。且第三方库SCL中目前(2021年5月)还没有gcc 10.x以上版本的YUM源,若要升级为10.x以上的版本也需要通过源码编译安装。</p>
<p>
        官网:https://gcc.gnu.org/</p>
<p>
        源码包下载:</p>
<p>
        http://ftp.gnu.org/gnu/gcc</p>
<h3>
        二、查看系统gcc版本</h3>
<p>
         </p>
<ol class="dp-sql">
<li class="alt">
                <span><span>gcc -v </span></span>
</li>
</ol>
<p>
         <img style="max-width:100%!important;height:auto!important;"title="CentOS7系统下源码编译升级gcc(6.5.0&amp;11.1.0)" alt="CentOS7系统下源码编译升级gcc(6.5.0&amp;11.1.0)" border="0" height="auto" src="https://zhuji.jb51.net/uploads/img/202305/ce754ad1f7a0a3df24beed001d2032c0.jpg" width="auto"></p>
<h3>
        三、升级到6.5.0版本</h3>
<p>
         </p>
<p>
        ## 下载解压</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>cd /data/tools </span></span>
</li>
        <li>
                <span>wget http://ftp.gnu.org/gnu/gcc/gcc-6.5.0/gcc-6.5.0.tar.gz </span>
</li>
        <li class="alt">
                <span>tar xf gcc-6.5.0.tar.gz </span>
</li>
</ol>
<p>
        ## 下载依赖文件</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>cd gcc-6.5.0/ </span></span>
</li>
        <li>
                <span>./contrib/download_prerequisites </span>
</li>
</ol>
<p>
        ## 新建gcc-bulid-6.5.0目录(与gcc-6.5.0同级)并进入该目录中(目录名自定义)</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>mkdir -p /data/tools/gcc-bulid-6.5.0 </span></span>
</li>
        <li>
                <span>cd /data/tools/gcc-bulid-6.5.0 </span>
</li>
</ol>
<p>
        ## 生成makefile文件</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>../gcc-6.5.0/configure </span><span class="comment">--enable-checking=release --enable-languages=c,c++ --disable-multilib</span><span> </span></span>
</li>
</ol>
<p>
        ## 编译安装(注:编译时间较长,请耐心等待)</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>make -j 2 </span></span>
</li>
        <li>
                <span>//make -j 指定的是CPU内核数量,加快编译速度(根据实际情况修改) </span>
</li>
        <li class="alt">
                <span>make install </span>
</li>
</ol>
<p>
        ## 查看gcc版本,验证升级是否成功</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>gcc -v </span></span>
</li>
</ol>
<p>
         <img style="max-width:100%!important;height:auto!important;"title="CentOS7系统下源码编译升级gcc(6.5.0&amp;11.1.0)" alt="CentOS7系统下源码编译升级gcc(6.5.0&amp;11.1.0)" border="0" height="auto" src="https://zhuji.jb51.net/uploads/img/202305/66fa49c45279c30ffa04e84dcd0620f3.jpg" width="auto"></p>
<h3>
        四、升级到11.1.0版本</h3>
<p>
         </p>
<p>
        ## 下载解压</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>cd /data/tools </span></span>
</li>
        <li>
                <span>wget http://ftp.gnu.org/gnu/gcc/gcc-11.1.0/gcc-11.1.0.tar.gz </span>
</li>
        <li class="alt">
                <span>tar xf gcc-11.1.0.tar.gz </span>
</li>
</ol>
<p>
        ## 下载依赖文件</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>cd gcc-11.1.0/ </span></span>
</li>
        <li>
                <span>./contrib/download_prerequisites </span>
</li>
</ol>
<p>
        ## 新建gcc-bulid-11.1.0目录(与gcc-11.1.0同级)并进入该目录中(目录名自定义)</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>mkdir -p /data/tools/gcc-bulid-11.1.0 </span></span>
</li>
        <li>
                <span>cd /data/tools/gcc-bulid-11.1.0 </span>
</li>
</ol>
<p>
        ## 生成makefile文件</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>../gcc-11.1.0/configure </span><span class="comment">--enable-checking=release --enable-languages=c,c++ --disable-multilib</span><span> </span></span>
</li>
</ol>
<p>
        ## 编译安装(注:编译时间较长,请耐心等待)</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>make -j 2 </span></span>
</li>
        <li>
                <span>//make -j 指定的是CPU内核数量,加快编译速度(根据实际情况修改) </span>
</li>
        <li class="alt">
                <span>make install </span>
</li>
</ol>
<p>
        ## 查看gcc版本,验证升级是否成功</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>gcc -v </span></span>
</li>
</ol>
<p>
         <img style="max-width:100%!important;height:auto!important;"title="CentOS7系统下源码编译升级gcc(6.5.0&amp;11.1.0)" alt="CentOS7系统下源码编译升级gcc(6.5.0&amp;11.1.0)" border="0" height="auto" src="https://zhuji.jb51.net/uploads/img/202305/de5c6021dda3eea9f733c0784cf995ff.jpg" width="auto"></p>
<p>
        原文链接:https://www.toutiao.com/i6963146571605197325/</p>
頁: [1]
查看完整版本: CentOS7系统下源码编译升级gcc(6.5.0&11.1.0)