WSLでGCCをビルドした際のメモ


自分がビルドしたときに突っ掛かったことのメモ。ほとんど公式ドキュメントに書いてある内容。

環境

Windows 10
Ubuntu on WSL (18.04.1)
GCC-7.4.0で10.0.1をビルド

しようと思った理由

気軽にWSLでGCCの最新版の機能を使ってみようと思ったが、確認してみたら、普通にインストールしたバージョンが7.4.0だったから。

必要なツールのインストール

sudo apt update
sudo apt install build-essential zlib1g-dev gcc-multilib g++-multilib git flex

そしてGCCのソース本体のダウンロード

git clone git://gcc.gnu.org/git/gcc.git (ダウンロード先の場所)
cd (その場所)
./contrib/download_prerequisites

ビルド用のフォルダを作る

この作業がとても重要らしい

mkdir build
cd build

configure

手っ取り早く、もともとインストールしてあるGCCで使ったのをパクる。

../configure (gcc -vででる configured with:のところをコピペ)

相当時間がかかるので、他のことをしながら終わるのを待つ。
enable-languageのところを、自分の必要なのだけにすると幸せになれる。

ビルド

make -j4

-jオプションはつけた方が早く終わる。
-jオプションの後ろの数字はいくつでもいい(なくてもいい)。
が、数字が大きすぎると、パソコンのメモリーを食いつぶして、パソコンがフリーズする。

この時、コマンドの後ろに、2>error.logなどと書いておくと、失敗したときのエラーを探すときに便利

テスト

やる必要はないが、実用で使うなら、ぜひやった方がいい。ただし、途方もない時間がかかる。

まずは必要なもののインストール

sudo apt install dejagnu tcl

テストを実行して、結果を確認

make -k check
../contrib/test_summary

あとは、インストールするだけ!

make install

参考文献