最新の g++ をインストールする

最新の g++ をインストールする方法を備忘録として残しておきます。

0 flex をインストール

$ sudo apt install flex

1 ソースをダウンロード

$ cd ~/Downloads
$ git clone https://github.com/gcc-mirror/gcc.git

2 依存ライブラリのダウンロード

$ cd gcc
$ ./contrib/download_prerequisites

3 環境変数を unset

$ unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE

4 ビルド&インストール

64bitOS で usr/local にインストールする場合(make -jx)の数字 x は CPU のコア数に応じて適当に(雑に)設定

$ mkdir build
$ cd build
$ ../configure --enable-languages=c,c++ --prefix=/usr/local --disable-bootstrap --disable-multilib
$ make -j10
$ sudo make install

5 環境変数の設定

vim で ~/.bash_profile を開いて(zsh の人は~/.zshrc を開いて)

$ vim ~/.bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64

を追加する。(user/local にインストールした場合。)

6 確認

端末を再起動してから、$ g++ -vで確認できる。

$ g++ -v
組み込み spec を使用しています。
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/11.0.1/lto-wrapper
ターゲット: x86_64-pc-linux-gnu
configure 設定: ../configure --enable-languages=c,c++ --prefix=/usr/local --disable-bootstrap --disable-multilib
スレッドモデル: posix
サポートされている LTO 圧縮アルゴリズム: zlib
gcc バージョン 11.0.1 20210228 (experimental) (GCC) 

参考文献

www.server-memo.net

x.momo86.net