GCCのソースコードからのビルド方法
最新版のGCCコンパイラをソースコードから一発でビルドするスクリプトをまとめておく。細かいオプションや説明などは公式のページに書いてあると思うので、割愛する。
システムパッケージではなく、自分でビルドすることで、最新の機能やバグ修正を利用できる。
実行すると $HOME/opt/gcc
にインストールされる。
ビルドスクリプト
以下のスクリプトを実行すると、GCC 14.2.0がビルドされ、$HOME/opt/gcc
にインストールされる:
#!/bin/bash
set -e # エラー時に即終了
# ソースコード用ディレクトリ作成
mkdir -p "$HOME/src"
cd "$HOME/src"
# 必要なファイルをダウンロード
curl -O https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-14.2.0/gcc-14.2.0.tar.gz
tar -xvf gcc-14.2.0.tar.gz
cd gcc-14.2.0
# 依存ライブラリをダウンロード
bash ./contrib/download_prerequisites
# ビルド用ディレクトリ作成(ソースディレクトリ外でビルドするのが推奨)
mkdir -p build
cd build
# コンパイル設定
../configure --disable-multilib \
--enable-languages=c,c++ \
--prefix="$HOME/opt/gcc"
# コンパイル(並列ビルド)
make -j$(nproc)
# インストール
make install
オプションの説明
--disable-multilib
: 複数のターゲットアーキテクチャ向けのライブラリを無効化する(ビルド時間短縮)--enable-languages=c,c++
: C言語とC++のみをビルド対象にする。他にもfortran
、objc
、ada
などが指定可能--prefix="$HOME/opt/gcc"
: インストール先ディレクトリを指定するmake -j$(nproc)
: 利用可能なCPUコア数に応じて並列ビルドを行う
インストール後
バージョン確認
インストールが成功したか確認するには:
$HOME/opt/gcc/bin/gcc --version
$HOME/opt/gcc/bin/g++ --version
パスの設定
ビルドしたGCCを使用するには、以下の環境変数の設定が必要:
# ~/.bashrcまたは~/.bash_profileに追加
export PATH="$HOME/opt/gcc/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/opt/gcc/lib:$LD_LIBRARY_PATH"
設定後は新しいターミナルを開くか、source ~/.bashrc
などで設定を再読み込みする。
ディレクトリ構成
ビルド後のディレクトリ構成は以下のようになる:
$HOME/
├── src/ # ソースコード
│ └── gcc-14.2.0/
│ ├── gmp-6.2.1/ # 自動ダウンロードされた依存ライブラリ
│ ├── mpfr-4.1.0/
│ ├── mpc-1.2.1/
│ └── isl-0.24/
└── opt/
└── gcc/ # インストール先
├── bin/
│ ├── gcc
│ ├── g++
│ └── ...
├── include/
├── lib/
└── ...
注意事項
- ビルドには環境によっては1時間以上かかる
- 約10GB程度のディスク容量が必要
- システムの標準コンパイラと競合しないよう、パスの設定に注意する
- メモリ不足エラーが生じた場合は、
make -j
の並列数を減らして試す - インストール後、古いバージョンが優先される場合は
which gcc
コマンドでパスが正しく設定されているか確認する