当方が普段使用している Cygwin 1.7.15 には、パッケージからインストール可能な GCC (GNU Compiler Collection) 3.4.4 が入っています。 しかし、当記事執筆時点では GCC は 4.7.1 が最新のようです。
C++ でプログラミングしたいものがあるため、GCC の最新版をソースからインストールしてみました。
作業記録
0. 前提条件
作業した環境は Cygwin 1.7.15 です。
1. 事前準備
以下のものを予め setup.exe 等でインストールしておく。
- bash (Base section)
- gzip (Base section, 1.2.4以上)
- binutils (Devel section)
- bzip2 (Utils section, 1.0.2)
- gcc-core (Devel section, 他の C コンパイラでもOK)
- gcc-g++ (Devel section, C++ コンパイラをビルドするなら必要)
- gcc-ada (Devel section, Ada コンパイラをインストールするなら必要)
- m4 (Interpreters section)
- make (Devel section, 3.79.1以上)
- zip (Archive section, Java をインストールするなら必要)
- unzip (Archive section, Java をインストールするなら必要)
- gcc-java (Devel section, Java で jar コマンドに必要)
さらに、パッケージのバージョンとステータスをチェックしておく。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
gcc-ada, gcc-java が表示されないけど。。。
1. アーカイブダウンロード
GCC のビルドに必要な以下のアーカイブを作業用ディテクトリ(無ければ作成する)に移動してダウンロードする。 当方は、/usr/src ディテクトリに wget コマンドでダウンロードした。 (参考にしたサイトでは、作業ディレクトリは /usr/local/contrib としていました。) 各リンクはすぐに見つけられると思います。
- GMP ( 多倍精度演算ライブラリ )
- http://gmplib.org/ から “gmp-5.0.5.tar.bz2”
- MPFR ( 多倍精度浮動小数演算ライブラリ )
- http://mpfr.org/ から “mpfr-3.1.0.tar.bz2”
- MPC ( 多倍精度複素数演算ライブラリ )
- http://www.multiprecision.org/ から “mpc-0.9.tar.gz”
- GCC ( GNU コンパイラコレクション本体 )
- http://gcc.gnu.org/mirrors.html から “gcc-4.7.1.tar.bz2”
1 2 3 4 5 |
|
2. 環境変数の設定
シェルに bash を使っているのなら、.bash_profile もしくは .bashrc に以下の記述を追加し、source コマンドで有効化(もしくは Cygwin 再起動)する。
1 2 3 4 5 |
|
3. GMP ビルド&インストール
作業用ディレクトリ(当方は /usr/src )へ移動して、以下のコマンドを実行する。 よくある手順です。
1 2 3 4 5 6 7 8 |
|
ここで、GMP 有効化のため Cygwin を再起動する。 (当方の場合、こうしないと次の MPFR がビルドできなかったので。)
4. MPFR ビルド&インストール
作業用ディレクトリ(当方は /usr/src )へ移動して、以下のコマンドを実行する。 よくある手順です。
1 2 3 4 5 6 7 8 |
|
ここは Cygwin の再起動は不要だった。
5. MPC ビルド&インストール
作業用ディレクトリ(当方は /usr/src )へ移動して、以下のコマンドを実行する。 よくある手順です。
1 2 3 4 5 6 7 8 |
|
ここも Cygwin の再起動は不要だった。
6. GCC ビルド&インストール
今までの手順とは少しだけ異なる。 ビルド用のディテクトリを別途作成する必要がある。 (今回インストールするのは C, C++ のみ)
1 2 3 4 5 6 7 8 |
|
当方の環境では、 make に約6時間半かかった。また、make check はできなかったがその他の処理は正常に完了した。 インストールできているか確認してみる。
1 2 3 4 5 6 7 8 9 10 |
|
7. テスト用ソース作成
コンパイルテスト用に簡単な C++ ソースを作成する。 【ファイル名:hello_world.cpp】
1 2 3 4 5 6 7 |
|
8. コンパイル&実行
作成した C++ ソースをコンパイルして実行する。
1 2 3 |
|
テスト成功!
9. その他
参考にしたサイトでは、最新の GMP 5.0.5, MPC 0.9 のビルドの前に設定ファイルの変更が必要とありましたが、当方は対応していません。 変更しなくても大丈夫でした。(今のところ)
参考サイト
以下のサイトを参考にしました。
これで、Cygwin の最新の GCC 環境が整いました。
以上。