MSYS の後継(?)とも言える MSYS2 では開発環境を 32bit と 64bit で併設できるらしい。
- MSYS2 installer
- msys2 : MSYS2 GitHuB ページ
- Alexpux/MSYS2-packages : MSYS2 パッケージのリポジトリ
- Alexpux/MINGW-packages : MinGW 32/64 bit パッケージのリポジトリ
- MSYS2 / Wiki / MSYS2 installation : インストールガイド
追記
最近来られた方,古い記事でごめんなさい。
この記事については私のブログでフォローしています。
こちらの記事で分かりにくければ向こうも参考にしてください。
- MSYS2 による gcc 開発環境の構築 ― MSYS2 のインストールから初期化処理まで — しっぽのさきっちょ | text.Baldanders.info
- MSYS2 による gcc 開発環境の構築 ― gcc パッケージ群の導入 — しっぽのさきっちょ | text.Baldanders.info
- MSYS2 による gcc 開発環境の構築 ― pgpdump をビルドする — しっぽのさきっちょ | text.Baldanders.info
MSYS2 のインストール
“MSYS2 installer” の案内に従って 64bit 版のインストーラを取得してインストールする。以下,スナップショット
わお! 日本語だ。
インストーラが終了するとターミナル(mintty)が起動する。以降はテキストで。
まずはパッケージ管理ツールのアップデートから
$ pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime
:: パッケージデータベースの同期中...
mingw32 238.7 KiB 925K/s 00:00 [#####################] 100%
mingw32.sig 96.0 B 0.00B/s 00:00 [#####################] 100%
mingw64 239.3 KiB 3.44M/s 00:00 [#####################] 100%
mingw64.sig 96.0 B 0.00B/s 00:00 [#####################] 100%
msys 126.4 KiB 3.17M/s 00:00 [#####################] 100%
msys.sig 96.0 B 0.00B/s 00:00 [#####################] 100%
警告: pacman-mirrors-20141223-1 は最新です -- スキップ
警告: msys2-runtime-2.1.0.16359.acadff9-1 は最新です -- スキップ
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (2) bash-4.3.039-1 pacman-4.2.1.6157.6e6093b-1
合計ダウンロード容量: 5.58 MiB
合計インストール容量: 34.55 MiB
最終的なアップグレード容量: 0.03 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します ...
bash-4.3.039-1-x86_64 1864.8 KiB 3.47M/s 00:01 [#####################] 100%
pacman-4.2.1.6157.6... 3.8 MiB 3.54M/s 00:01 [#####################] 100%
(2/2) キーリングのキーを確認 [#####################] 100%
(2/2) パッケージの整合性をチェック [#####################] 100%
(2/2) パッケージファイルのロード [#####################] 100%
(2/2) ファイルの衝突をチェック [#####################] 100%
(2/2) 空き容量を確認 [#####################] 100%
(1/2) 更新 bash [#####################] 100%
(2/2) 更新 pacman [#####################] 100%
おっと! bash も更新されてしまった。ではターミナルを再起動(インストールフォルダにある msys2_shell.bat
を起動する)。
$ pacman -Syu
:: パッケージデータベースの同期中...
mingw32 は最新です
mingw64 は最新です
msys は最新です
:: システム全体の更新を開始...
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (1) gawk-4.1.3-1
合計ダウンロード容量: 0.93 MiB
合計インストール容量: 2.74 MiB
最終的なアップグレード容量: 0.01 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します ...
gawk-4.1.3-1-x86_64 951.1 KiB 1865K/s 00:01 [#####################] 100%
(1/1) キーリングのキーを確認 [#####################] 100%
(1/1) パッケージの整合性をチェック [#####################] 100%
(1/1) パッケージファイルのロード [#####################] 100%
(1/1) ファイルの衝突をチェック [#####################] 100%
(1/1) 空き容量を確認 [#####################] 100%
(1/1) 更新 gawk [#####################] 100%
これでパッケージの更新は完了。
“MSYS2 installer” の通りに,試しに git をインストールしようとしたらエラいことに(笑)
$ pacman -S git
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (39) db-5.3.28-2 expat-2.1.0-2 gdbm-1.11-3 heimdal-1.5.3-6
heimdal-libs-1.5.3-6 icu-51.2-2 libdb-5.3.28-2
libedit-3.1-20130712 libgdbm-1.11-3 libsqlite-3.8.8.2-1
openssh-6.7p1-1 perl-5.20.2-1 perl-Authen-SASL-2.16-2
perl-Convert-BinHex-1.123-2 perl-Encode-Locale-1.03-2
perl-Error-0.17023-1 perl-File-Listing-6.04-2
perl-HTML-Parser-3.71-2 perl-HTML-Tagset-3.20-2
perl-HTTP-Cookies-6.01-2 perl-HTTP-Daemon-6.01-2
perl-HTTP-Date-6.02-2 perl-HTTP-Message-6.06-2
perl-HTTP-Negotiate-6.01-2 perl-IO-Socket-SSL-2.008-1
perl-IO-stringy-2.110-2 perl-LWP-MediaTypes-6.02-2
perl-MIME-tools-5.505-2 perl-MailTools-2.13-2
perl-Net-HTTP-6.06-2 perl-Net-SMTP-SSL-1.01-2
perl-Net-SSLeay-1.64-1 perl-TermReadKey-2.32-2
perl-TimeDate-2.30-2 perl-URI-1.65-1 perl-WWW-RobotRules-6.02-2
perl-libwww-6.08-1 vim-7.4.728-1 git-2.4.1-1
合計ダウンロード容量: 30.29 MiB
合計インストール容量: 134.32 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します ...
expat-2.1.0-2-x86_64 13.1 KiB 6.39M/s 00:00 [#############] 100%
libdb-5.3.28-2-x86_64 656.4 KiB 714K/s 00:01 [#############] 100%
db-5.3.28-2-x86_64 41.7 KiB 221K/s 00:00 [#############] 100%
libgdbm-1.11-3-x86_64 20.4 KiB 214K/s 00:00 [#############] 100%
gdbm-1.11-3-x86_64 108.5 KiB 359K/s 00:00 [#############] 100%
perl-5.20.2-1-x86_64 10.7 MiB 2.75M/s 00:04 [#############] 100%
perl-Error-0.17023-1-any 18.3 KiB 17.9M/s 00:00 [#############] 100%
vim-7.4.728-1-x86_64 5.9 MiB 3.36M/s 00:02 [#############] 100%
icu-51.2-2-x86_64 6.0 MiB 1339K/s 00:05 [#############] 100%
libsqlite-3.8.8.2-1-x86_64 399.1 KiB 1339K/s 00:00 [#############] 100%
heimdal-libs-1.5.3-6-x86_64 583.9 KiB 3.41M/s 00:00 [#############] 100%
heimdal-1.5.3-6-x86_64 534.3 KiB 3.14M/s 00:00 [#############] 100%
libedit-3.1-20130712-x86_64 74.8 KiB 44.3K/s 00:02 [#############] 100%
openssh-6.7p1-1-x86_64 665.5 KiB 286K/s 00:02 [#############] 100%
perl-Authen-SASL-2.16-2-any 42.4 KiB 77.5K/s 00:01 [#############] 100%
perl-Encode-Locale-1.03-2-any 10.0 KiB 4.87M/s 00:00 [#############] 100%
perl-HTTP-Date-6.02-2-any 8.6 KiB 8.42M/s 00:00 [#############] 100%
perl-File-Listing-6.04-2-any 7.7 KiB 3.76M/s 00:00 [#############] 100%
perl-HTML-Tagset-3.20-2-any 10.3 KiB 5.01M/s 00:00 [#############] 100%
perl-HTML-Parser-3.71-2-x86_64 81.6 KiB 93.6K/s 00:01 [#############] 100%
perl-LWP-MediaTypes-6.02-2-any 18.0 KiB 62.9K/s 00:00 [#############] 100%
perl-URI-1.65-1-any 82.6 KiB 276K/s 00:00 [#############] 100%
perl-HTTP-Message-6.06-2-any 71.3 KiB 83.1K/s 00:01 [#############] 100%
perl-HTTP-Cookies-6.01-2-any 20.4 KiB 74.9K/s 00:00 [#############] 100%
perl-HTTP-Daemon-6.01-2-any 14.2 KiB 49.9K/s 00:00 [#############] 100%
perl-HTTP-Negotiate-6.01-2-any 11.4 KiB 5.58M/s 00:00 [#############] 100%
perl-Net-HTTP-6.06-2-any 20.9 KiB 10.1K/s 00:02 [#############] 100%
perl-WWW-RobotRules-6.02-2-any 12.2 KiB 5.98M/s 00:00 [#############] 100%
perl-libwww-6.08-1-any 132.1 KiB 118K/s 00:01 [#############] 100%
perl-TimeDate-2.30-2-any 35.9 KiB 64.1K/s 00:01 [#############] 100%
perl-MailTools-2.13-2-any 66.1 KiB 78.2K/s 00:01 [#############] 100%
perl-IO-stringy-2.110-2-any 58.1 KiB 98.7K/s 00:01 [#############] 100%
perl-Convert-BinHex-1.123-2-any 30.1 KiB 108K/s 00:00 [#############] 100%
perl-MIME-tools-5.505-2-any 194.4 KiB 137K/s 00:01 [#############] 100%
perl-Net-SSLeay-1.64-1-x86_64 187.3 KiB 133K/s 00:01 [#############] 100%
perl-IO-Socket-SSL-2.008-1-any 111.8 KiB 565K/s 00:00 [#############] 100%
perl-Net-SMTP-SSL-1.01-2-any 4.2 KiB 4.13M/s 00:00 [#############] 100%
perl-TermReadKey-2.32-2-x86_64 21.9 KiB 77.8K/s 00:00 [#############] 100%
git-2.4.1-1-x86_64 3.4 MiB 4.08M/s 00:01 [#############] 100%
(39/39) キーリングのキーを確認 [#############] 100%
(39/39) パッケージの整合性をチェック [#############] 100%
(39/39) パッケージファイルのロード [#############] 100%
(39/39) ファイルの衝突をチェック [#############] 100%
(39/39) 空き容量を確認 [#############] 100%
( 1/39) インストール expat [#############] 100%
( 2/39) インストール libdb [#############] 100%
( 3/39) インストール db [#############] 100%
( 4/39) インストール libgdbm [#############] 100%
( 5/39) インストール gdbm [#############] 100%
( 6/39) インストール perl [#############] 100%
( 7/39) インストール perl-Error [#############] 100%
( 8/39) インストール vim [#############] 100%
( 9/39) インストール icu [#############] 100%
(10/39) インストール libsqlite [#############] 100%
(11/39) インストール heimdal-libs [#############] 100%
(12/39) インストール heimdal [#############] 100%
(13/39) インストール libedit [#############] 100%
(14/39) インストール openssh [#############] 100%
(15/39) インストール perl-Authen-SASL [#############] 100%
(16/39) インストール perl-Encode-Locale [#############] 100%
(17/39) インストール perl-HTTP-Date [#############] 100%
(18/39) インストール perl-File-Listing [#############] 100%
(19/39) インストール perl-HTML-Tagset [#############] 100%
(20/39) インストール perl-HTML-Parser [#############] 100%
(21/39) インストール perl-LWP-MediaTypes [#############] 100%
(22/39) インストール perl-URI [#############] 100%
(23/39) インストール perl-HTTP-Message [#############] 100%
(24/39) インストール perl-HTTP-Cookies [#############] 100%
(25/39) インストール perl-HTTP-Daemon [#############] 100%
(26/39) インストール perl-HTTP-Negotiate [#############] 100%
(27/39) インストール perl-Net-HTTP [#############] 100%
(28/39) インストール perl-WWW-RobotRules [#############] 100%
(29/39) インストール perl-libwww [#############] 100%
perl-libwww の提案パッケージ
perl-LWP-Protocol-HTTPS: for https:// url schemes
(30/39) インストール perl-TimeDate [#############] 100%
(31/39) インストール perl-MailTools [#############] 100%
(32/39) インストール perl-IO-stringy [#############] 100%
(33/39) インストール perl-Convert-BinHex [#############] 100%
module test... pass.
(34/39) インストール perl-MIME-tools [#############] 100%
(35/39) インストール perl-Net-SSLeay [#############] 100%
(36/39) インストール perl-IO-Socket-SSL [#############] 100%
(37/39) インストール perl-Net-SMTP-SSL [#############] 100%
(38/39) インストール perl-TermReadKey [#############] 100%
(39/39) インストール git [#############] 100%
git の提案パッケージ
python2: various helper scripts
subversion: git svn
てか,本当に最小限しか入ってないんだな(笑) python2 と subversion を提案されてしまったが,これはまた今度。
MSYS2 起動モード
MSYS2 の起動バッチには以下の3つがある(64bit 版をインストールした場合)
mingw32_shell.bat
mingw64_shell.bat
msys2_shell.bat
中身はターミナルエミュレータ(既定で mintty)の場所を探して起動するだけだが,環境変数 MSYSTEM
にそれぞれ以下の値をセットしている
バッチファイル | セットする値 |
---|---|
mingw32_shell.bat |
MINGW32 |
mingw64_shell.bat |
MINGW64 |
msys2_shell.bat |
MSYS |
環境変数 MSYSTEM
は /etc/profile
内で参照される。
MSYS2_PATH="/usr/local/bin:/usr/bin:/bin"
MANPATH="/usr/local/man:/usr/share/man:/usr/man:/share/man:${MANPATH}"
INFOPATH="/usr/local/info:/usr/share/info:/usr/info:/share/info:${INFOPATH}"
MINGW_MOUNT_POINT=
if [ -n "$MSYSTEM" ]
then
case "$MSYSTEM" in
MINGW32)
MINGW_MOUNT_POINT=/mingw32
PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
;;
MINGW64)
MINGW_MOUNT_POINT=/mingw64
PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
;;
MSYS)
PATH="${MSYS2_PATH}:/opt/bin:${PATH}"
PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig"
;;
*)
PATH="${MSYS2_PATH}:${PATH}"
;;
esac
else
PATH="${MSYS2_PATH}:${PATH}"
fi
MINGW32
または MINGW64
の場合は,新たに /mingw32
または /mingw64
がパス等に追加されているのが分かるだろう。
各モードはインストール元のリポジトリと関連している。
バッチファイルのチューニング
上述の /etc/profile
に書かれている通り MSYS2 では Windows の PATH も取り込むが,実際には MSYS2 上で動いてほしくないものもあるので,バッチファイル内で PATH を潰すか,または以下のように
set PATH=%SystemRoot%System32
必要なものだけ再設定する。 Windows 上の特定のツールを使いたい場合はフルパス(もしくはその alias)で指定するか, /etc/fstab
でマウントするほうがスマート。
MSYS2 のホームディレクトリは,インストールフォルダ直下の home\username
フォルダになるが, Windows 上で自前のホームディレクトリを作っている場合は,その場所を /etc/fstab
でマウントする手もある。
C:/home /home
この場合,元のフォルダにある .profile
ファイル等の移動も忘れないこと。
MSYS2 のパッケージ管理
MSYS2 では pacman でパッケージ管理を行うらしい。
pacman は元々 Arch Linux のパッケージ管理ツールで,使い方もこれと同じようだ。
よく使うコマンドとしては
-
pacman -S <package_name1> [package_name2...]
: 指定したパッケージをインストールする -
pacman -Sl [repository]
: パッケージを一覧表示する(リポジトリを指定可能) -
pacman -Ss [regex...]
: パッケージを一覧・検索する(キーワードを指定可能) -
pacman -Su
: インストール済みのパッケージを更新する -
pacman -Sy
: パッケージのデータベースを更新する -
pacman -Syu
:-Su
,-Sy
の同時指定 -
pacman -Q [package_name...]
: インストール済みパッケージを一覧・検索する(パッケージを指定可能) -
pacman -Qs [regex...]
: インストール済みパッケージを一覧・検索する(をキーワードを指定可能) -
pacman -R <package_name>
: 指定したパッケージを削除する -
pacman -Rs <package_name>
: 依存関係を含めて指定したパッケージを削除する(指定したパッケージにのみ依存するパッケージを削除)
あたりか。
MSYS2 のリポジトリ
/etc/pacman.conf
を見ると MSYS2 では mingw32
, mingw64
, msys
の3つのリポジトリを管理していることが分かる。
-
mingw32
: http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686 -
mingw64
: http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64 -
msys
: http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
$arch
はインストールした MSYS2 のアーキテクチャによって異なる。 64bit 版を入れた場合は x86_64
になる筈である。
例えば,以下に示すように gcc もリポジトリごとにそれぞれある。
$ pacman -Sl | grep gcc
mingw32 mingw-w64-i686-gcc 4.9.2-5
mingw32 mingw-w64-i686-gcc-ada 4.9.2-5
mingw32 mingw-w64-i686-gcc-ada-debug 4.9.1-3
mingw32 mingw-w64-i686-gcc-debug 4.9.1-3
mingw32 mingw-w64-i686-gcc-fortran 4.9.2-5
mingw32 mingw-w64-i686-gcc-fortran-debug 4.9.1-3
mingw32 mingw-w64-i686-gcc-libgfortran 4.9.2-5
mingw32 mingw-w64-i686-gcc-libgfortran-debug 4.9.1-3
mingw32 mingw-w64-i686-gcc-libs 4.9.2-5
mingw32 mingw-w64-i686-gcc-libs-debug 4.9.1-3
mingw32 mingw-w64-i686-gcc-objc 4.9.2-5
mingw32 mingw-w64-i686-gcc-objc-debug 4.9.1-3
mingw64 mingw-w64-x86_64-gcc 4.9.2-5
mingw64 mingw-w64-x86_64-gcc-ada 4.9.2-5
mingw64 mingw-w64-x86_64-gcc-ada-debug 4.9.1-3
mingw64 mingw-w64-x86_64-gcc-debug 4.9.1-3
mingw64 mingw-w64-x86_64-gcc-fortran 4.9.2-5
mingw64 mingw-w64-x86_64-gcc-fortran-debug 4.9.1-3
mingw64 mingw-w64-x86_64-gcc-libgfortran 4.9.2-5
mingw64 mingw-w64-x86_64-gcc-libgfortran-debug 4.9.1-3
mingw64 mingw-w64-x86_64-gcc-libs 4.9.2-5
mingw64 mingw-w64-x86_64-gcc-libs-debug 4.9.1-3
mingw64 mingw-w64-x86_64-gcc-objc 4.9.2-5
mingw64 mingw-w64-x86_64-gcc-objc-debug 4.9.1-3
msys gcc 4.9.2-4
msys gcc-fortran 4.9.2-4
msys gcc-libs 4.9.2-4
msys mingw-w64-cross-gcc 4.9.2-2
どれを使うかはユーザ次第だが, msys
の方は開発用というより MSYS2 ビルド用という感じである(微妙にバージョンが古い)。 gcc を 32bit 版と 64bit 版で使い分ける場合は msys
版は入れないほうがいいかもしれない。
gcc のインストール
gcc のスレッドモデルと例外処理
mingw32
または mingw64
で提供される gcc では,スレッドモデルと例外処理は以下のようになっているらしい。
(「MSYS2 / Tickets / #24 Mingw64 downloads through msys2?」より)
On MSYS2 I maintain only one configuration:
32-bit: threads=posix, exceptions=dwarf
64-bit: threads=posix, exceptions=seh
MSYS2 のベースになっている MinGW-w64 のスレッドモデルには win32 と posix が提供されている。 win32 は Windows ネイティブなスレッド関連関数を使っているため速いが, C++11 の thread, mutex, future はサポートしていないらしい。
例外処理には SJLJ(SetJump/LongJump), DWARF2, SEH(Structured Exception Handling)があり,この中では Windows ネイティブな SEH が一番速い。ただし SEH は 64bit gcc でしか対応していないため 32bit 環境では使えない。
MinGW-w64 ではインストール時にスレッドモデルと例外処理を選択できる。
MinGW-w64 のもうひとつの実装である TDM-GCC では,スレッドモデルには posix,例外処理には SJLJ(32bit)または SEH(64bit)が設定されているようだ。
(“TDM-GCC : Quirks” より)
TDM-GCC includes a pthreads emulation layer for Microsoft Windows systems, called "winpthreads". This lets you use std::thread and other C++11 concurrency features in your programs, out of the box.
64-bit binaries use "SEH", which stands for "Structured Exception Handling".
If you create a 32-bit binary with the TDM64 edition, it will use SJLJ exception handling. DW2 exception handling is not available in this edition.
MSYS2 関連ツールのインストール
まずは msys2_shell.bat
でターミナルを起動する。
開発用に必要なツールをインストールする(上述の git インストールでインストールされなかったもの)。
$ pacman -S patch
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (1) patch-2.7.5-1
合計ダウンロード容量: 0.07 MiB
合計インストール容量: 0.15 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します ...
patch-2.7.5-1-x86_64 75.9 KiB 460K/s 00:00 [#####################] 100%
(1/1) キーリングのキーを確認 [#####################] 100%
(1/1) パッケージの整合性をチェック [#####################] 100%
(1/1) パッケージファイルのロード [#####################] 100%
(1/1) ファイルの衝突をチェック [#####################] 100%
(1/1) 空き容量を確認 [#####################] 100%
(1/1) インストール patch [#####################] 100%
patch の提案パッケージ
ed: for patch -e functionality
32bit 版 gcc のインストール
mingw32_shell.bat
でターミナルを起動し mingw-w64-i686-toolchain
をインストールする。
$ pacman -S mingw-w64-i686-toolchain
:: 16 のパッケージがグループ mingw-w64-i686-toolchain にあります:
:: リポジトリ mingw32
1) mingw-w64-i686-binutils 2) mingw-w64-i686-crt-git 3) mingw-w64-i686-gcc
4) mingw-w64-i686-gcc-ada 5) mingw-w64-i686-gcc-fortran 6) mingw-w64-i686-gcc-libgfortran
7) mingw-w64-i686-gcc-libs 8) mingw-w64-i686-gcc-objc 9) mingw-w64-i686-gdb
10) mingw-w64-i686-headers-git 11) mingw-w64-i686-libmangle-git
12) mingw-w64-i686-libwinpthread-git 13) mingw-w64-i686-make 14) mingw-w64-i686-tools-git
15) mingw-w64-i686-winpthreads-git 16) mingw-w64-i686-winstorecompat-git
選択して下さい (デフォルト=all): 1 2 3 7 9 10 11 12 13 14 15 16
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (33) mingw-w64-i686-bzip2-1.0.6-3 mingw-w64-i686-cloog-0.18.1-3
mingw-w64-i686-expat-2.1.0-5 mingw-w64-i686-gdbm-1.11-2
mingw-w64-i686-gettext-0.19.4-2 mingw-w64-i686-gmp-6.0.0-2
mingw-w64-i686-isl-0.13-1 mingw-w64-i686-libffi-3.2.1-2
mingw-w64-i686-libiconv-1.14-4 mingw-w64-i686-libsystre-1.0.1-1
mingw-w64-i686-libtre-git-r122.c2f5d13-3 mingw-w64-i686-mpc-1.0.3-1
mingw-w64-i686-mpfr-3.1.2.p11-1 mingw-w64-i686-ncurses-5.9.20150321-1
mingw-w64-i686-openssl-1.0.2.a-1 mingw-w64-i686-python2-2.7.10-1
mingw-w64-i686-readline-6.2.005-3 mingw-w64-i686-tcl-8.6.4-1
mingw-w64-i686-termcap-1.3.1-1 mingw-w64-i686-tk-8.6.4-1
mingw-w64-i686-zlib-1.2.8-7 mingw-w64-i686-binutils-2.25-4
mingw-w64-i686-crt-git-5.0.0.4501.4421b4a-1 mingw-w64-i686-gcc-4.9.2-5
mingw-w64-i686-gcc-libs-4.9.2-5 mingw-w64-i686-gdb-7.9.1-1
mingw-w64-i686-headers-git-5.0.0.4501.4421b4a-1
mingw-w64-i686-libmangle-git-5.0.0.4497.4254261-1
mingw-w64-i686-libwinpthread-git-5.0.0.4497.4254261-1
mingw-w64-i686-make-4.0.2289.432cb65-1
mingw-w64-i686-tools-git-5.0.0.4497.4254261-1
mingw-w64-i686-winpthreads-git-5.0.0.4497.4254261-1
mingw-w64-i686-winstorecompat-git-5.0.0.4497.4254261-1
合計ダウンロード容量: 68.00 MiB
合計インストール容量: 443.18 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します ...
mingw-w64-i686-libiconv-1.14-4-any 602.3 KiB 1870K/s 00:00 [#####################] 100%
mingw-w64-i686-bzip2-1.0.6-3-any 64.9 KiB 9.06M/s 00:00 [#####################] 100%
mingw-w64-i686-zlib-1.2.8-7-any 152.2 KiB 3.23M/s 00:00 [#####################] 100%
mingw-w64-i686-binutils-2.25-4-any 10.2 MiB 2.19M/s 00:05 [#####################] 100%
mingw-w64-i686-headers-git-5.0.0.45... 4.9 MiB 2.53M/s 00:02 [#####################] 100%
mingw-w64-i686-crt-git-5.0.0.4501.4... 1675.5 KiB 3.10M/s 00:01 [#####################] 100%
mingw-w64-i686-libwinpthread-git-5.... 38.1 KiB 12.4M/s 00:00 [#####################] 100%
mingw-w64-i686-winpthreads-git-5.0.... 46.9 KiB 9.16M/s 00:00 [#####################] 100%
mingw-w64-i686-gmp-6.0.0-2-any 430.8 KiB 192K/s 00:02 [#####################] 100%
mingw-w64-i686-mpfr-3.1.2.p11-1-any 241.7 KiB 952K/s 00:00 [#####################] 100%
mingw-w64-i686-mpc-1.0.3-1-any 62.5 KiB 8.72M/s 00:00 [#####################] 100%
mingw-w64-i686-isl-0.13-1-any 446.6 KiB 96.8K/s 00:05 [#####################] 100%
mingw-w64-i686-cloog-0.18.1-3-any 63.8 KiB 74.2K/s 00:01 [#####################] 100%
mingw-w64-i686-gcc-libs-4.9.2-5-any 492.2 KiB 1469K/s 00:00 [#####################] 100%
mingw-w64-i686-gcc-4.9.2-5-any 21.7 MiB 3.12M/s 00:07 [#####################] 100%
mingw-w64-i686-expat-2.1.0-5-any 106.9 KiB 1527K/s 00:00 [#####################] 100%
mingw-w64-i686-gettext-0.19.4-2-any 3.9 MiB 2.97M/s 00:01 [#####################] 100%
mingw-w64-i686-gdbm-1.11-2-any 150.1 KiB 2.04M/s 00:00 [#####################] 100%
mingw-w64-i686-libffi-3.2.1-2-any 33.7 KiB 544K/s 00:00 [#####################] 100%
mingw-w64-i686-libtre-git-r122.c2f5... 69.2 KiB 1064K/s 00:00 [#####################] 100%
mingw-w64-i686-libsystre-1.0.1-1-any 9.2 KiB 306K/s 00:00 [#####################] 100%
mingw-w64-i686-ncurses-5.9.20150321... 1618.5 KiB 5.58M/s 00:00 [#####################] 100%
mingw-w64-i686-openssl-1.0.2.a-1-any 2.7 MiB 3.09M/s 00:01 [#####################] 100%
mingw-w64-i686-termcap-1.3.1-1-any 12.2 KiB 11.9M/s 00:00 [#####################] 100%
mingw-w64-i686-readline-6.2.005-3-any 235.5 KiB 76.1K/s 00:03 [#####################] 100%
mingw-w64-i686-tcl-8.6.4-1-any 2.8 MiB 4.20M/s 00:01 [#####################] 100%
mingw-w64-i686-tk-8.6.4-1-any 1873.4 KiB 3.45M/s 00:01 [#####################] 100%
mingw-w64-i686-python2-2.7.10-1-any 10.6 MiB 4.04M/s 00:03 [#####################] 100%
mingw-w64-i686-gdb-7.9.1-1-any 2.7 MiB 5.08M/s 00:01 [#####################] 100%
mingw-w64-i686-libmangle-git-5.0.0.... 16.7 KiB 521K/s 00:00 [#####################] 100%
mingw-w64-i686-make-4.0.2289.432cb6... 103.6 KiB 59.9K/s 00:02 [#####################] 100%
mingw-w64-i686-tools-git-5.0.0.4497... 222.1 KiB 854K/s 00:00 [#####################] 100%
mingw-w64-i686-winstorecompat-git-5... 5.2 KiB 0.00B/s 00:00 [#####################] 100%
(33/33) キーリングのキーを確認 [#####################] 100%
(33/33) パッケージの整合性をチェック [#####################] 100%
(33/33) パッケージファイルのロード [#####################] 100%
(33/33) ファイルの衝突をチェック [#####################] 100%
(33/33) 空き容量を確認 [#####################] 100%
( 1/33) インストール mingw-w64-i686-libiconv [#####################] 100%
( 2/33) インストール mingw-w64-i686-bzip2 [#####################] 100%
( 3/33) インストール mingw-w64-i686-zlib [#####################] 100%
( 4/33) インストール mingw-w64-i686-binutils [#####################] 100%
( 5/33) インストール mingw-w64-i686-headers-git [#####################] 100%
( 6/33) インストール mingw-w64-i686-crt-git [#####################] 100%
( 7/33) インストール mingw-w64-i686-libwinpthread-git [#####################] 100%
( 8/33) インストール mingw-w64-i686-winpthreads-git [#####################] 100%
( 9/33) インストール mingw-w64-i686-gmp [#####################] 100%
(10/33) インストール mingw-w64-i686-mpfr [#####################] 100%
(11/33) インストール mingw-w64-i686-mpc [#####################] 100%
(12/33) インストール mingw-w64-i686-isl [#####################] 100%
(13/33) インストール mingw-w64-i686-cloog [#####################] 100%
(14/33) インストール mingw-w64-i686-gcc-libs [#####################] 100%
(15/33) インストール mingw-w64-i686-gcc [#####################] 100%
(16/33) インストール mingw-w64-i686-expat [#####################] 100%
(17/33) インストール mingw-w64-i686-gettext [#####################] 100%
(18/33) インストール mingw-w64-i686-gdbm [#####################] 100%
(19/33) インストール mingw-w64-i686-libffi [#####################] 100%
(20/33) インストール mingw-w64-i686-libtre-git [#####################] 100%
(21/33) インストール mingw-w64-i686-libsystre [#####################] 100%
(22/33) インストール mingw-w64-i686-ncurses [#####################] 100%
(23/33) インストール mingw-w64-i686-openssl [#####################] 100%
(24/33) インストール mingw-w64-i686-termcap [#####################] 100%
(25/33) インストール mingw-w64-i686-readline [#####################] 100%
(26/33) インストール mingw-w64-i686-tcl [#####################] 100%
(27/33) インストール mingw-w64-i686-tk [#####################] 100%
(28/33) インストール mingw-w64-i686-python2 [#####################] 100%
(29/33) インストール mingw-w64-i686-gdb [#####################] 100%
(30/33) インストール mingw-w64-i686-libmangle-git [#####################] 100%
(31/33) インストール mingw-w64-i686-make [#####################] 100%
(32/33) インストール mingw-w64-i686-tools-git [#####################] 100%
(33/33) インストール mingw-w64-i686-winstorecompat-git [#####################] 100%
ありゃ。 python とかも入っちゃったねぇ。
$ gcc -v
Using built-in specs.
COLLECT_GCC=C:\msys64\mingw32\bin\gcc.exe
COLLECT_LTO_WRAPPER=C:/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: ../gcc-4.9.2/configure --prefix=/mingw32 --with-local-prefix=/mingw32/local --build=i686-w64-mingw32 --host=i686-w64-mingw32 --target=i686-w64-mingw32 --with-native-system-header-dir=/mingw32/i686-w64-mingw32/include --libexecdir=/mingw32/lib --with-gxx-include-dir=/mingw32/include/c++/4.9.2 --enable-bootstrap --with-arch=i686 --with-tune=generic --enable-languages=c,lto,c++,objc,obj-c++,fortran,ada --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-time=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-cloog-backend=isl --enable-version-specific-runtime-libs --disable-cloog-version-check --disable-isl-version-check --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw32 --with-mpfr=/mingw32 --with-mpc=/mingw32 --with-isl=/mingw32 --with-cloog=/mingw32 --with-pkgversion='Rev5, Built by MSYS2 project' --with-bugurl=http://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld --disable-sjlj-exceptions --with-dwarf2
Thread model: posix
gcc version 4.9.2 (Rev5, Built by MSYS2 project)
64bit 版 gcc のインストール
mingw64_shell.bat
でターミナルを起動し mingw-w64-x86_64-toolchain
をインストールする。
$ pacman -S mingw-w64-x86_64-toolchain
:: 16 のパッケージがグループ mingw-w64-x86_64-toolchain にあります:
:: リポジトリ mingw64
1) mingw-w64-x86_64-binutils 2) mingw-w64-x86_64-crt-git 3) mingw-w64-x86_64-gcc
4) mingw-w64-x86_64-gcc-ada 5) mingw-w64-x86_64-gcc-fortran
6) mingw-w64-x86_64-gcc-libgfortran 7) mingw-w64-x86_64-gcc-libs
8) mingw-w64-x86_64-gcc-objc 9) mingw-w64-x86_64-gdb 10) mingw-w64-x86_64-headers-git
11) mingw-w64-x86_64-libmangle-git 12) mingw-w64-x86_64-libwinpthread-git
13) mingw-w64-x86_64-make 14) mingw-w64-x86_64-tools-git
15) mingw-w64-x86_64-winpthreads-git 16) mingw-w64-x86_64-winstorecompat-git
選択して下さい (デフォルト=all): 1 2 3 7 9 10 11 12 13 14 15 16
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (33) mingw-w64-x86_64-bzip2-1.0.6-3 mingw-w64-x86_64-cloog-0.18.1-3
mingw-w64-x86_64-expat-2.1.0-5 mingw-w64-x86_64-gdbm-1.11-2
mingw-w64-x86_64-gettext-0.19.4-2 mingw-w64-x86_64-gmp-6.0.0-2
mingw-w64-x86_64-isl-0.13-1 mingw-w64-x86_64-libffi-3.2.1-2
mingw-w64-x86_64-libiconv-1.14-4 mingw-w64-x86_64-libsystre-1.0.1-1
mingw-w64-x86_64-libtre-git-r122.c2f5d13-3 mingw-w64-x86_64-mpc-1.0.3-1
mingw-w64-x86_64-mpfr-3.1.2.p11-1 mingw-w64-x86_64-ncurses-5.9.20150321-1
mingw-w64-x86_64-openssl-1.0.2.a-1 mingw-w64-x86_64-python2-2.7.10-1
mingw-w64-x86_64-readline-6.2.005-3 mingw-w64-x86_64-tcl-8.6.4-1
mingw-w64-x86_64-termcap-1.3.1-1 mingw-w64-x86_64-tk-8.6.4-1
mingw-w64-x86_64-zlib-1.2.8-7 mingw-w64-x86_64-binutils-2.25-4
mingw-w64-x86_64-crt-git-5.0.0.4501.4421b4a-1
mingw-w64-x86_64-gcc-4.9.2-5 mingw-w64-x86_64-gcc-libs-4.9.2-5
mingw-w64-x86_64-gdb-7.9.1-1
mingw-w64-x86_64-headers-git-5.0.0.4501.4421b4a-1
mingw-w64-x86_64-libmangle-git-5.0.0.4497.4254261-1
mingw-w64-x86_64-libwinpthread-git-5.0.0.4497.4254261-1
mingw-w64-x86_64-make-4.0.2289.432cb65-1
mingw-w64-x86_64-tools-git-5.0.0.4497.4254261-1
mingw-w64-x86_64-winpthreads-git-5.0.0.4497.4254261-1
mingw-w64-x86_64-winstorecompat-git-5.0.0.4497.4254261-1
合計ダウンロード容量: 71.58 MiB
合計インストール容量: 476.52 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します ...
mingw-w64-x86_64-libico... 598.0 KiB 1886K/s 00:00 [############################] 100%
mingw-w64-x86_64-bzip2-... 66.9 KiB 9.33M/s 00:00 [############################] 100%
mingw-w64-x86_64-zlib-1... 147.8 KiB 213K/s 00:01 [############################] 100%
mingw-w64-x86_64-binuti... 11.7 MiB 2.03M/s 00:06 [############################] 100%
mingw-w64-x86_64-header... 4.9 MiB 2.68M/s 00:02 [############################] 100%
mingw-w64-x86_64-crt-gi... 2.6 MiB 3.50M/s 00:01 [############################] 100%
mingw-w64-x86_64-libwin... 34.5 KiB 11.2M/s 00:00 [############################] 100%
mingw-w64-x86_64-winpth... 44.7 KiB 10.9M/s 00:00 [############################] 100%
mingw-w64-x86_64-gmp-6.... 448.7 KiB 51.0K/s 00:09 [############################] 100%
mingw-w64-x86_64-mpfr-3... 250.2 KiB 989K/s 00:00 [############################] 100%
mingw-w64-x86_64-mpc-1.... 62.3 KiB 8.70M/s 00:00 [############################] 100%
mingw-w64-x86_64-isl-0.... 434.3 KiB 55.6K/s 00:08 [############################] 100%
mingw-w64-x86_64-cloog-... 63.3 KiB 73.0K/s 00:01 [############################] 100%
mingw-w64-x86_64-gcc-li... 437.3 KiB 1477K/s 00:00 [############################] 100%
mingw-w64-x86_64-gcc-4.... 22.3 MiB 4.65M/s 00:05 [############################] 100%
mingw-w64-x86_64-expat-... 105.6 KiB 1531K/s 00:00 [############################] 100%
mingw-w64-x86_64-gettex... 3.8 MiB 3.34M/s 00:01 [############################] 100%
mingw-w64-x86_64-gdbm-1... 151.9 KiB 2.12M/s 00:00 [############################] 100%
mingw-w64-x86_64-libffi... 31.8 KiB 514K/s 00:00 [############################] 100%
mingw-w64-x86_64-libtre... 69.0 KiB 1078K/s 00:00 [############################] 100%
mingw-w64-x86_64-libsys... 9.1 KiB 295K/s 00:00 [############################] 100%
mingw-w64-x86_64-ncurse... 1646.1 KiB 3.88M/s 00:00 [############################] 100%
mingw-w64-x86_64-openss... 3.3 MiB 4.33M/s 00:01 [############################] 100%
mingw-w64-x86_64-termca... 12.4 KiB 4.03M/s 00:00 [############################] 100%
mingw-w64-x86_64-readli... 235.9 KiB 78.6K/s 00:03 [############################] 100%
mingw-w64-x86_64-tcl-8.... 2.8 MiB 4.20M/s 00:01 [############################] 100%
mingw-w64-x86_64-tk-8.6... 1870.5 KiB 3.47M/s 00:01 [############################] 100%
mingw-w64-x86_64-python... 10.5 MiB 4.23M/s 00:02 [############################] 100%
mingw-w64-x86_64-gdb-7.... 2.7 MiB 5.07M/s 00:01 [############################] 100%
mingw-w64-x86_64-libman... 16.6 KiB 517K/s 00:00 [############################] 100%
mingw-w64-x86_64-make-4... 101.9 KiB 58.8K/s 00:02 [############################] 100%
mingw-w64-x86_64-tools-... 232.3 KiB 1001K/s 00:00 [############################] 100%
mingw-w64-x86_64-winsto... 4.9 KiB 0.00B/s 00:00 [############################] 100%
(33/33) キーリングのキーを確認 [############################] 100%
(33/33) パッケージの整合性をチェック [############################] 100%
(33/33) パッケージファイルのロード [############################] 100%
(33/33) ファイルの衝突をチェック [############################] 100%
(33/33) 空き容量を確認 [############################] 100%
( 1/33) インストール mingw-w64-x86_64-libiconv [############################] 100%
( 2/33) インストール mingw-w64-x86_64-bzip2 [############################] 100%
( 3/33) インストール mingw-w64-x86_64-zlib [############################] 100%
( 4/33) インストール mingw-w64-x86_64-binutils [############################] 100%
( 5/33) インストール mingw-w64-x86_64-headers-git [############################] 100%
( 6/33) インストール mingw-w64-x86_64-crt-git [############################] 100%
( 7/33) インストール mingw-w64-x86_64-libwinpthrea... [############################] 100%
( 8/33) インストール mingw-w64-x86_64-winpthreads-git [############################] 100%
( 9/33) インストール mingw-w64-x86_64-gmp [############################] 100%
(10/33) インストール mingw-w64-x86_64-mpfr [############################] 100%
(11/33) インストール mingw-w64-x86_64-mpc [############################] 100%
(12/33) インストール mingw-w64-x86_64-isl [############################] 100%
(13/33) インストール mingw-w64-x86_64-cloog [############################] 100%
(14/33) インストール mingw-w64-x86_64-gcc-libs [############################] 100%
(15/33) インストール mingw-w64-x86_64-gcc [############################] 100%
(16/33) インストール mingw-w64-x86_64-expat [############################] 100%
(17/33) インストール mingw-w64-x86_64-gettext [############################] 100%
(18/33) インストール mingw-w64-x86_64-gdbm [############################] 100%
(19/33) インストール mingw-w64-x86_64-libffi [############################] 100%
(20/33) インストール mingw-w64-x86_64-libtre-git [############################] 100%
(21/33) インストール mingw-w64-x86_64-libsystre [############################] 100%
(22/33) インストール mingw-w64-x86_64-ncurses [############################] 100%
(23/33) インストール mingw-w64-x86_64-openssl [############################] 100%
(24/33) インストール mingw-w64-x86_64-termcap [############################] 100%
(25/33) インストール mingw-w64-x86_64-readline [############################] 100%
(26/33) インストール mingw-w64-x86_64-tcl [############################] 100%
(27/33) インストール mingw-w64-x86_64-tk [############################] 100%
(28/33) インストール mingw-w64-x86_64-python2 [############################] 100%
(29/33) インストール mingw-w64-x86_64-gdb [############################] 100%
(30/33) インストール mingw-w64-x86_64-libmangle-git [############################] 100%
(31/33) インストール mingw-w64-x86_64-make [############################] 100%
(32/33) インストール mingw-w64-x86_64-tools-git [############################] 100%
(33/33) インストール mingw-w64-x86_64-winstorecomp... [############################] 100%
$ gcc -v
Using built-in specs.
COLLECT_GCC=C:\msys64\mingw64\bin\gcc.exe
COLLECT_LTO_WRAPPER=C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-4.9.2/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include --libexecdir=/mingw64/lib --with-gxx-include-dir=/mingw64/include/c++/4.9.2 --enable-bootstrap --with-arch=x86-64 --with-tune=generic --enable-languages=c,lto,c++,objc,obj-c++,fortran,ada --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-time=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-cloog-backend=isl --enable-version-specific-runtime-libs --disable-cloog-version-check --disable-isl-version-check --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-cloog=/mingw64 --with-pkgversion='Rev5, Built by MSYS2 project' --with-bugurl=http://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld
Thread model: posix
gcc version 4.9.2 (Rev5, Built by MSYS2 project)
とういうわけで,後半へ続く。
【おまけ】 Proxy サーバ越しのアクセス
Proxy サーバ越しに curl を使う場合は ~/.curlrc
に以下の記述を追加する。
proxy-user = "username:password"
proxy = "http://proxy.example.com:8080"
pacman を Proxy サーバ越しに使う場合は、上述の通りに curl の設定をしたうえで /etc/pacman.conf
ファイルの以下の記述を探し、コメントを解除する。
#XferCommand = /usr/bin/curl -C - -f %u > %o
gnupg で鍵サーバにアクセスする場合も、 Proxy サーバ越しにアクセスするのであれば、 ~/.gnupg/gpg.conf
に以下のオプションを追記する。
keyserver-options http-proxy=http://username:password@proxy.example.com:8080/
実は /etc/pacman.d/gnupg
ディレクトリにも gpg.conf
ファイルがあって pacman-key
コマンドはこちらを見てるっぽい。 /etc/pacman.d/gnupg
ディレクトリにある鍵束を gnupg から直接見る場合には以下のコマンドを叩く。
$ gpg --homedir /etc/pacman.d/gnupg --list-keys
ブックマーク
-
Windowsでgccなどを利用できるMSYS2の環境設定など - Qiita : コマンドライン引数の文字コードの問題
-
Windowsで最高のターミナルを構築する方法 - 純粋関数空間 : mintty 最強! という話
-
Windows で Qt5 が遅いわけ | Qt のあれこれ (仮) : MinGW の例外処理について
-
Qt で MinGW-w64 を使用する際に必要になるスレッドモデルと例外機構の選択について | cutlassfish
-
MinGW (64bit) + MSYS 環境の構築 (1) | DeVlog - 銀の翼で翔べ - : 記述は古いがカスタマイズでは参考になる部分もある