碼迷,mamicode.com
首頁 > 系統相關 > 詳細

在Ubuntu18.04系統中源碼安裝 gcc7.3.0

時間:2021-07-23 17:41:09      閱讀:0      評論:0      收藏:0      [點我收藏+]

標簽:class   字段   系統   ash   inf   csdn   nbsp   bootstra   boot   

本文給出兩種源碼安裝gcc7.3.0的方法。

 

 

依賴的環境安裝到自建文件夾下,

給出下面操作中環境的安裝文件夾:

/home/devilmaycry/anaconda3/mindspore_envs
這個路徑可以按照個人情況進行設置的,只要下面均保持一致即可。

 

 

下文中修改 .bashrc  是指打開.bashrc :

vim ~/.bashrc

 

 

 

 

=======================================================================

 

 

 

 

 

1.    自動下載安裝gcc的依賴環境:   gmp,    mpfr,   mpc

 

下載gcc 7.3.0版本安裝包,執行以下命令:

              wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

 

執行tar -xzf gcc-7.3.0.tar.gz解壓源碼包。

 

執行cd gcc-7.3.0,進入到源碼包目錄。

 

繼續下面操作前清空系統內的環境變量:

export LIBRARY_PATH=
export LD_LIBRARY_PATH=
export C_INCLUDE_PATH=
export CPLUS_INCLUDE_PATH=

 

 

 

 

 

運行以下命令,進行安裝前的配置。

安裝依賴環境:

./contrib/download_prerequisites

 

 

 

 

配置環境:

./configure --prefix=/home/devilmaycry/anaconda3/mindspore_envs/gcc_7.3.0 --enable-bootstrap -enable-threads=posix --enable-checking=release --enable-languages=c,c++ --disable-multilib

 

 

 

 

 編譯安裝:

make && make install

 

 

 

=======================================================================

 

 

 

 

2.    源碼安裝gcc的依賴環境,gmp,    mpfr,   mpc

下載    gmp-6.1.2     mpfr-4.1.0   mpc-1.2.1

 

 

 

由于 gmp  依賴  m4,  因此我們先安裝  m4  。

 

 

 

m4  下載安裝:

下載地址:

http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.bz2

 

解壓:

               tar -jxvf m4-1.4.16.tar.bz2

 

 

 

修改m4_1.4.16下源文件中代碼:(https://blog.csdn.net/weixin_34168880/article/details/91842744

vi lib/stdio.in.h

查找字段:gets is a security hole

注釋
將_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 字段和他之前的注釋 /* 一塊注釋掉,如下

/* It is very rare that the developer ever has full control of stdin,
   so any use of gets warrants an unconditional warning.  Assume it is
   always declared, since it is required by C89.
#undef gets
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); */

 

再添加如下內容:

    #if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
     
    _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
     
    #endif

 

 

配置:

./configure --prefix=/home/devilmaycry/anaconda3/mindspore_envs/m4_1.4.16/

 

 

編譯安裝

make && make install

 

 

 

配置系統環境變量:

修改 .bashrc  文件

export PATH=/home/devilmaycry/anaconda3/mindspore_envs/m4_1.4.16/bin:$PATH

 

 

 

 

說明: 其中,/home/devilmaycry/anaconda3/mindspore_envs/m4_1.4.16   路徑為我們剛才編譯源碼配置的安裝路徑的地址。

 

 

 

 

 

 

 

安裝gmp 6.1.2

 下載gmp 6.1.2源碼包:

            wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz

 

 

解壓到當前文件夾:

           tar -xvf  gmp-6.1.2.tar.xz

 

 

 

 配置:

 ./configure --prefix=/home/devilmaycry/anaconda3/mindspore_envs/gmp_6.1.2/ --enable-cxx

 

 編譯安裝:

make && make install

 

 

 

 

配置系統環境變量:  修改 .bashrc 文件

技術圖片
# gmp
export LIBRARY_PATH=/home/devilmaycry/anaconda3/mindspore_envs/gmp_6.1.2/share:$LIBRARY_PATH
export LD_LIBRARY_PATH=/home/devilmaycry/anaconda3/mindspore_envs/gmp_6.1.2/lib:$LD_LIBRARY_PATH

export C_INCLUDE_PATH=/home/devilmaycry/anaconda3/mindspore_envs/gmp_6.1.2/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$C_INCLUDE_PATH:$CPLUS_INCLUDE_PATH
技術圖片

 



 

 

測試 gmp 是否安裝并配置成功:(聲明:測試部分內容源于:https://blog.csdn.net/just_h/article/details/82667787

代碼:

# test.cpp 文件

技術圖片
#include <gmpxx.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
        mpz_t a,b,c;
        mpz_init(a);
        mpz_init(b);
        mpz_init(c);
        gmp_scanf("%Zd%Zd",a,b);
        mpz_add(c,a,b);
        gmp_printf("c= %Zd\n",c);
        return 0;
}
技術圖片

編譯:

g++ test.cpp -o test -lgmp

 

運行:

技術圖片

 

 

 

 

 

 

 

 

mpfr  的安裝:

下載地址:

wget https://www.mpfr.org/mpfr-current/mpfr-4.1.0.tar.gz

 

 

解壓文件:

tar -zxvf mpfr-4.1.0.tar.gz

 

配置:

./configure --prefix=/home/devilmaycry/anaconda3/mindspore_envs/mpfr_4.1.0/

 

 

 編譯安裝:

make && make install

 

配置文件: 添加內容到  .bashrc 文件中

技術圖片
# mpfr
export LIBRARY_PATH=/home/devilmaycry/anaconda3/mindspore_envs/mpfr_4.1.0/share:$LIBRARY_PATH
export LD_LIBRARY_PATH=/home/devilmaycry/anaconda3/mindspore_envs/mpfr_4.1.0/lib:$LD_LIBRARY_PATH

export C_INCLUDE_PATH=/home/devilmaycry/anaconda3/mindspore_envs/mpfr_4.1.0/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$C_INCLUDE_PATH:$CPLUS_INCLUDE_PATH
技術圖片

 

 

測試安裝及配置是否成功:

代碼: #test.cpp

技術圖片
#include <stdio.h>
#include <mpfr.h>
int main (void)
{
  printf ("MPFR library: %-12s\nMPFR header:  %s (based on %d.%d.%d)\n",
          mpfr_get_version (), MPFR_VERSION_STRING, MPFR_VERSION_MAJOR,
          MPFR_VERSION_MINOR, MPFR_VERSION_PATCHLEVEL);
  return 0;
}
技術圖片

 

編譯及運行:

gcc test.cpp -o test  -lmpfr

 

技術圖片

 

 

 

 

 

 

 

 

 

mpc  的安裝:

下載: 

wget  https://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz

 

解壓:

tar -zxvf mpc-1.2.1.tar.gz

 

 配置:

./configure --prefix=/home/devilmaycry/anaconda3/mindspore_envs/mpc_1.2.1/

 

 

 

 編譯安裝:

make && make install

 

 

 修改   .bashrc  文件,添加內容:

技術圖片
# mpc
export LIBRARY_PATH=/home/devilmaycry/anaconda3/mindspore_envs/mpc_1.2.1/share:$LIBRARY_PATH
export LD_LIBRARY_PATH=/home/devilmaycry/anaconda3/mindspore_envs/mpc_1.2.1/lib:$LD_LIBRARY_PATH

export C_INCLUDE_PATH=/home/devilmaycry/anaconda3/mindspore_envs/mpc_1.2.1/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$C_INCLUDE_PATH:$CPLUS_INCLUDE_PATH
技術圖片

 

 

 

 

 

 

GCC的安裝:

 

 

下載gcc 7.3.0版本安裝包,執行以下命令:

              wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

 

執行tar -xzf gcc-7.3.0.tar.gz解壓源碼包。

 

執行cd gcc-7.3.0,進入到源碼包目錄。

 

 

配置環境:

./configure --prefix=/home/devilmaycry/anaconda3/mindspore_envs/gcc_7.3.0 --enable-bootstrap -enable-threads=posix --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/home/devilmaycry/anaconda3/mindspore_envs/gmp_6.1.2 --with-mpfr=/home/devilmaycry/anaconda3/mindspore_envs/mpfr_4.1.0 --with-mpc=/home/devilmaycry/anaconda3/mindspore_envs/mpc_1.2.1

 

 

 

 

編譯安裝:

make && make install

 

在Ubuntu18.04系統中源碼安裝 gcc7.3.0

標簽:class   字段   系統   ash   inf   csdn   nbsp   bootstra   boot   

原文地址:https://www.cnblogs.com/devilmaycry812839668/p/15046425.html

(0)
(0)
   
舉報
評論 一句話評論(0
登錄后才能評論!
? 2014 mamicode.com 版權所有  聯系我們:gaon5@hotmail.com
迷上了代碼!
4399在线看MV_久久99精品久久久久久久久久_成人又黄又爽又刺激视频_能收黄台的app不收费