トップページインストール,運用Cygwin, MinGW の活用msys2 と GNU ツールチェーン類 (gcc, g++, gfortran, findutils, openssh, wget, curl, gmake, gdb 等) のインストール

msys2 と GNU ツールチェーン類 (gcc, g++, gfortran, findutils, openssh, wget, curl, gmake, gdb 等) のインストール

Windows での,msys2 と GNU ツールチェーン類(gcc など)のインストール手順を説明する. msys2 は,ターミナル minttyシェル bash各種UNIX風コマンドの詰め合わせ.

【目次】

  1. msys2のダウンロードとインストール
  2. GNU ツールチェーン類 (gcc, g++, gfortran, findutils, openssh, make, gdb, boost 等) のインストール

msys2 のダウンロードとインストール

msys2 は,ターミナル minttyシェル bash各種UNIX風コマンドの詰め合わせ. pacmanコマンドを使ってパッケージの追加もできる.UNIX風コマンドとpacmanコマンドが便利.

◆ ここでの設定

インストール後に行う環境変数の設定

◆ ダウンロードとインストールの手順

  1. SourceForge の msys2 のウェブページを開く

    https://sourceforge.net/projects/msys2/

  2. 「Files」をクリック
  3. 「Base」をクリック
  4. 「msys2-x86_64-latest.exe」を選ぶ
  5. ダウンロードが始まる.
  6. ダウンロードした .exe ファイルを実行
  7. ようこそ画面では,「次へ」をクリック.

    [image]
  8. インストールディレクトリ(フォルダ)は既定(デフォルト)のままでよい.「次へ」をクリック.

    [image]
  9. スタートメニューのショートカットは,既定(デフォルト)のままでよい.「次へ」をクリック.

    [image]
  10. インストールが始まる.

    [image]
  11. インストール終了の確認.「完了」をクリック.

    [image]
  12. インストール直後は,mintty + bash が自動起動するので確認

    [image]
  13. msys を管理者として実行する

    スタートメニューで,「MSYS2 64bit」の下の「MSYS2 MSYS」を選び(下図),右クリックメニューで,管理者として実行を選ぶ.

    [image]
  14. 念のため、この画面で環境変数の値を確認.

    下と違った結果が表示される場合には、今後の作業はうまく行かない可能性あり。

    echo $MSYSTEM
    echo $PATH
    echo $PKG_CONFIG_PATH
    

    [image]
  15. パッケージデータベースと pacman とコアパッケージの更新
    1. もう一度、msys を管理者として実行する

      スタートメニューで,「MSYS2 64bit」の下の「MSYS2 MSYS」を選び(下図),右クリックメニューで,管理者として実行を選ぶ.

      [image]
    2. いま開いたmsysで次のコマンドを実行する
      pacman -Syu
      

      ※ 質問には「y」+ Enter キー

      [image]
    3. 終わったら,msysを閉じる

      [image]
  16. パッケージの更新
    1. 再び、msys を管理者として実行する

      スタートメニューで,「MSYS2 64bit」の下の「MSYS2 MSYS」を選び(下図),右クリックメニューで,管理者として実行を選ぶ.

      [image]
    2. いま開いたmsysで次のコマンドを実行する
      pacman -Su
      

      [image]
    3. 終わったら,msysを閉じる.

      [image]
  17. Windowsのシステム環境変数MSYSTEMを次のように設定
    MINGW64
    

    [image]
  18. Windowsのシステム環境変数PKG_CONFIG_PATHを次のように設定
    /mingw64/lib/pkgconfig:/mingw64/share/pkgconfig
    

    [image]
  19. Windowsのシステム環境変数Pathに次の4つを追加
    C:\msys64\mingw64\bin
    C:\msys64\usr\local\bin
    C:\msys64\usr\bin
    C:\msys64\bin
    

    [image]
  20. bash, ls にパスが通っていることを確認する

    Windowsのコマンドプロンプトを開き、次のコマンドを実行.

    エラーメッセージが出なければOK.

    where bash
    where ls
    

    [image]

GNU ツールチェーン類 (gcc, g++, gfortran, findutils, openssh, wget, curl, gmake, gdb 等) のインストール

msys2に gcc, g++ (C言語, C++言語処理系) やその他のツールチェーンを,パッケージを使ってインストールする.

◆ 事前準備

msys2のインストールが終わっていること.

◆ ダウンロードとインストールの手順

  1. Windows で,コマンドプロンプト管理者として実行する.

    [image]
    n
  2. MSYS2 でパッケージをインストールしたい.

    今のコマンドプロンプトで,次のコマンドを1つずつ実行.

    ※ 「Enter a selection (defaulit=all) という質問には・既定(デフォルト)のままでよいので、Enter キー

    ※ 「Proceed with installation? [Y/n] という質問には・インストールを続けたいので、Y, Enter キー

    pacman -Sy base-devel
    pacman -Sy msys2-devel
    pacman -Sy mingw-w64-i686-toolchain
    pacman -Sy mingw-w64-x86_64-toolchain
    pacman -Sy mingw-w64-i686-boost
    pacman -Sy mingw-w64-x86_64-boost
    pacman -Sy findutils
    pacman -Sy ncurses-devel
    pacman -Sy openssh
    

    選択してください (デフォルト = all)」に対しては Enter キー

    [image]

    インストールを行うか? [Y/n] (Proceed with installation? [Y/n])」に対しては,y + Enter キー

    [image]

    コマンドを1つずつ実行するたびに、エラーメッセージが出ていないことを確認。

    [image]

    ※ msys のパッケージは pacman -Ss <キーワード>で検索できる

  3. パスが通っていることを確認する

    Windowsのコマンドプロンプトを開き、次のコマンドを実行.

    エラーメッセージが出なければOK.

    where gcc
    where g++
    where gfortran
    where find
    where ssh
    where wget 
    where curl
    where make
    where gdb
    

    次のような結果が出るはず(必ずしも、ぴったりは一致しない。エラーメッセージが出なければ OK)

    [image]

    次のようなエラーメッセージが出るなどのときは、システム環境変数Pathの設定を確認し修正した後、Windows のコマンドプロンプトを開き直す。

    [image]
  4. コンパイラの確認のため、次のプログラムを作成。「hello.c」のようなファイル名で保存.
    #include <stdio.h>
    int main() {
        printf("Hello,World!\n");
        printf("sizeof(size_t)=%ld\n", sizeof(size_t));
        return 0;
    }
    

    [image]

    Windows のコマンドプロンプトを開き、次を実行.

    「Hello,World!」「sizeof(size_t)=8!」と表示されればOK.

    gcc hello.c
    .\a.exe
    

    [image]

msys2 に付属の gdb での,起動時のエラーに関する対処例

msys2 の gdb 起動するとき,次のようなエラーメッセージが出ることがある.

ImportError: No module named libstdcxx.v6.printers
/etc/gdbinit:6: Error in sourced command file:
Error while executing Python code.

エラーメッセージから「gdbinit」に原因があると手掛かりが得られた. C:\msys64\etc\gdbinit をエディタで開く. すると,gcc のバージョンが間違っていることが分かる. 次のように書き直す.

[image]

もう一度 gdb を起動してみる.エラーメッセージが無くなることが分かる.