📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

75行目: 75行目:
gcc-<バージョン>.tar.gzファイルをダウンロードしていないため表示されているだけなので、特に問題ない。<br>
gcc-<バージョン>.tar.gzファイルをダウンロードしていないため表示されているだけなので、特に問題ない。<br>
  sha512sum --check sha512.sum
  sha512sum --check sha512.sum
<br>
GCC 7.1をインストールする場合、/<GCC 7.1のソースディレクトリ>/libgcc/config/i386/linux-unwind.hファイルを、以下に示すように修正する必要がある。<br>
# /<GCC 7.1のソースディレクトリ>/libgcc/config/i386/linux-unwind.hファイルの61行目
# 修正前
struct ucontext *uc_ = context->cfa;
# 修正後
struct ucontext_t *uc_ = context->cfa;
<br>
<br>
GCCをビルドおよびインストールする。<br>
GCCをビルドおよびインストールする。<br>
83行目: 92行目:
*: 3-stage bootstrap buildの無効化。
*: 3-stage bootstrap buildの無効化。
* disable-multilib
* disable-multilib
*: 64bit専用コンパイラとする(OSが64bitの場合は指定)
*: 64bit専用コンパイラとする。(ただし、<code>-m32</code>オプションが使用できなくなる)
  cd gcc-<バージョン>
  cd gcc-<バージョン>
  mkdir build && cd build
  mkdir build && cd build
<br>
<br>
  # パッケージ管理システムで依存関係のライブラリをインストールしている場合
  # GCC 7.5以降かつパッケージ管理システムで依存関係のライブラリをインストールしている場合
  ../configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=<GCCのインストールディレクトリ> \
  ../configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=<GCCのインストールディレクトリ> \
  --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --disable-bootstrap --program-suffix="_X_X"
  --enable-checking=release --enable-languages=c,c++,fortran --disable-bootstrap --program-suffix="_X_X"
   
   
  make -j $(nproc)
  make -j $(nproc)
95行目: 104行目:
  make install-strip
  make install-strip
   
   
  # 手動で依存関係のライブラリをインストールしている場合
  # GCC 7.5以降かつ手動で依存関係のライブラリをインストールしている場合
  ../configure --disable-multilib --enable-languages=c,c++,fortran --prefix=$HOME/InstallSoftware/GCC/GCC-10_1_0 \
  ../configure --disable-multilib --enable-languages=c,c++,fortran --prefix=<GCCのインストールディレクトリ> \
  --with-gmp=$HOME/InstallSoftware/GCC/GCC-10_1_0 --with-mpc=$HOME/InstallSoftware/GCC/GCC-10_1_0 \
  --with-gmp=<GMP, MPC MPFR, ISLのインストールディレクトリ> --with-mpc=<GMP, MPC MPFR, ISLのインストールディレクトリ> \
  --with-mpfr=$HOME/InstallSoftware/GCC/GCC-10_1_0 --with-isl=$HOME/InstallSoftware/GCC/GCC-10_1_0
  --with-mpfr=<GMP, MPC MPFR, ISLのインストールディレクトリ> --with-isl=<GMP, MPC MPFR, ISLのインストールディレクトリ> \
--program-suffix="_X_X"
   
   
  unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE
  unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE
   
   
  LD_LIBRARY_PATH=$HOME/InstallSoftware/GCC/GCC-10_1_0/lib64 make -j 8
  LD_LIBRARY_PATH=/<GMP, MPC MPFR, ISLのインストールディレクトリ>/lib64 make -j $(nproc)
   
   
  make install
  make install
# GCC 6.5以前かつパッケージ管理システムで依存関係のライブラリをインストールしている場合
../configure --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=<GCCのインストールディレクトリ> \
--enable-checking=release --enable-languages=c,c++,fortran --disable-bootstrap --disable-libsanitizer --disable-libcilkrts \
--program-suffix="_X_X"
make -j $(nproc)
make install-strip
<br>
<br>
インストールしたGCCへ環境変数のパスを通す。<br>
インストールしたGCCへ環境変数のパスを通す。<br>