トップページ -> データベース研究スタート -> Windows でソフトウエアのインストールと設定 -> msys2 と GNU ツールチェーン類 (gcc, g++, gfortran, findutils, openssh, wget, curl, gmake, gdb 等) のインストール
[サイトマップへ]  

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

msys2 は,ターミナル minttyシェル bash各種UNIX風コマンドの詰め合わせ.

msys2 の pacman コマンドを使って,msys2 関連の各種ソフトウエアのインストールを簡単に行うことができる.

目次

  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. 最新の 64ビット版(x86_64の方) をクリック.

  3. Download」をクリック.

  4. ダウンロードが始まる.

  5. ダウンロードした .exe ファイルを実行

  6. ようこそ画面では,「次へ」をクリック.

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

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

  9. インストールが始まる.

  10. インストール終了の確認.「完了」をクリック.

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

  12. パッケージデータベースと pacman の更新
    1. msys を管理者として実行する

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

    2. 念のため、この画面で環境変数の値を確認.

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

      echo $MSYSTEM
      echo $PATH
      echo $PKG_CONFIG_PATH
      

    3. いま開いたmsysで次のコマンドを実行する
      pacman -Sy pacman
      

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

    4. 終わったら,msysを閉じる

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

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

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

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

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

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

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

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

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

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

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

  17. Windowsのシステム環境変数Pathの先頭に次の3つを追加

    先頭に追加です

    C:\msys64\mingw64\bin
    C:\msys64\usr\local\bin
    C:\msys64\usr\bin
    C:\msys64\bin
    

  18. bash, ls にパスが通っていることを確認する

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

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

    where bash
    where ls
    

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

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

◆ 事前準備

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

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

  1. コマンドプロンプトを管理者として実行

  2. コマンドプロンプトで,次のコマンドを1つずつ実行.
    pacman -S base-devel
    pacman -S msys2-devel
    pacman -S mingw-w64-i686-toolchain
    pacman -S mingw-w64-x86_64-toolchain
    pacman -S mingw-w64-i686-boost
    pacman -S mingw-w64-x86_64-boost
    pacman -S findutils
    pacman -S ncurses-devel
    pacman -S openssh
    

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

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

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

    ※ 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)

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

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

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

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

    gcc hello.c
    .\a.exe
    

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 のバージョンが間違っていることが分かる. 次のように書き直す.

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