最新の 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)