空语者 發表於 2023-10-1 00:00:00

Linux中 CentOS 6.5 手动升级gcc到gcc-6.1.0

<p>
        从进入码农时代已经有好几年了,一直没有写博文的习惯,用到的很多东西没有记录,到后面就忘了,需要用时,又不停上百度google一下,费时间又费精力,还不一定能找到满意的答案,因此开个博客记录下。(废话不多说了)</p>
<p>
          今天在公司服务器上源码安装Nodejs报错 WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++),直接yum update gcc不能升级到4.8,然后只能手动处理了。</p>
<p>
          开始,如果linux安装了wget命令:  </p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_785505">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">wget http:</code><code class="bash plain">//ftp</code><code class="bash plain">.gnu.org</code><code class="bash plain">/gnu/gcc/gcc-6</code><code class="bash plain">.1.0</code><code class="bash plain">/gcc-6</code><code class="bash plain">.1.0.</code><code class="bash functions">tar</code><code class="bash plain">.gz</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">tar</code> <code class="bash plain">-zvxf gcc-6.1.0.</code><code class="bash functions">tar</code><code class="bash plain">.gz --directory=</code><code class="bash plain">/usr/local/</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">cd</code> <code class="bash plain">/usr/local/gcc-6</code><code class="bash plain">.1.0</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">.</code><code class="bash plain">/contrib/download_prerequisites</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">mkdir</code> <code class="bash plain">build &amp;&amp; </code><code class="bash functions">cd</code> <code class="bash plain">build </code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">..</code><code class="bash plain">/configure</code> <code class="bash plain">-</code><code class="bash functions">enable</code><code class="bash plain">-checking=release -</code><code class="bash functions">enable</code><code class="bash plain">-languages=c,c++ -disable-multilib </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash functions">make</code> <code class="bash plain">&amp;&amp; </code><code class="bash functions">make</code> <code class="bash functions">install</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
          如果是在虚拟机上安装,可能需要3-4个小时,耐心等待吧,少年。。。</p>
<p>
          如果如果,如果你的linux很不辛,没有安装wget命令,或者不能访问外网,怎么办???继续往下看:</p>
<p>
          先下载好最新的gcc(http://ftp.gnu.org/gnu/gcc/),我用的gcc-6.1.0.tar.gz,通过ftp上传到Linux上,解压:  </p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_126209">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">tar</code> <code class="bash plain">-zvxf gcc-6.1.0.</code><code class="bash functions">tar</code><code class="bash plain">.gz --directory=</code><code class="bash plain">/usr/local/</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">cd</code> <code class="bash plain">/usr/local/gcc-6</code><code class="bash plain">.1.0</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
          然后用vi打开 ./contrib/download_prerequisites 文件,查看当前你下载的gcc需要哪些依赖包。打开后看到如下内容:</p>
<p>
          由此,我们还需要下载 gmp-4.3.2.tar.bz2、isl-0.15.tar.bz2、mpc-0.8.1.tar.gz、mpfr-2.4.2.tar.bz2,注意,依赖包一定要是指定版本的,否则会出问题。下载好依赖包,直接解压到/usr/local/gcc-6.1.0/ 目录,然后设置软链接:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_630131">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">ln</code> <code class="bash plain">-sf gmp-4.3.2 gmp</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">ln</code> <code class="bash plain">-sf isl-0.15 isl</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">ln</code> <code class="bash plain">-sf mpc-0.8.1 mpc</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">ln</code> <code class="bash plain">-sf mpfr-2.4.2 mpfr</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
          设置好后,就可以开始安装了:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_701289">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">mkdir</code> <code class="bash plain">build &amp;&amp; </code><code class="bash functions">cd</code> <code class="bash plain">build </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">..</code><code class="bash plain">/configure</code> <code class="bash plain">-</code><code class="bash functions">enable</code><code class="bash plain">-checking=release -</code><code class="bash functions">enable</code><code class="bash plain">-languages=c,c++ -disable-multilib </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">make</code> <code class="bash plain">&amp;&amp; </code><code class="bash functions">make</code> <code class="bash functions">install</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        以上所述是小编给大家介绍的Linux中 CentOS 6.5 手动升级gcc到gcc-6.1.0,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!</p>
頁: [1]
查看完整版本: Linux中 CentOS 6.5 手动升级gcc到gcc-6.1.0