📢 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専用コンパイラとする。(ただし、<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 | --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= | ../configure --disable-multilib --enable-languages=c,c++,fortran --prefix=<GCCのインストールディレクトリ> \ | ||
--with-gmp= | --with-gmp=<GMP, MPC MPFR, ISLのインストールディレクトリ> --with-mpc=<GMP, MPC MPFR, ISLのインストールディレクトリ> \ | ||
--with-mpfr= | --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= | 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> | ||