パソコンでプログラミングしよう ウィンドウズC++プログラミング環境の構築
1.6.3.6(15)
MSYS2の導入

MSYS2をインストールする手順を説明する。

外部情報

セットアップ手順

  1. MSYS2のインストール
  2. MSYS2のアップデート

MSYS2のインストール

リンク先32ビット/64ビットのそれぞれのインストーラが用意されているが、64ビット版のmsys2_x86_64_XXXXXXXX.exeを任意のディレクトリにダウンロードする。このファイルを実行しMSYS2をインストールする。インストールディレクトリはデフォルト(C:\msys64)を推奨する。

MSYS2のアップデート

ウィンドウズスタートメニューから[MSYS2 64bit|MSYS2 MSYS]を起動しmsys2ターミナルを開く。以下のコマンドをアップデートが不要になるまで繰り返す。場合によりmsys2ターミナルをウィンドウクローズボタン(xボタン)で閉じる必要がある。

$ pacman -Syuu
覚え書き
期待に反し本サイト環境でMSYS2は何もせずに日本語表示で起動する。ポリシーに従い英語表示にカスタマイズすべきだがそこまではこだわらない。

本サイト構築時の結果を示す。アップデートの1回目。

user@THINKPAD-L430 MSYS ~
$ pacman -Syuu
:: パッケージデータベースの同期中...
mingw32 524.3 KiB 420K/s 00:01 [#####################] 100%
mingw32.sig 119.0 B 0.00B/s 00:00 [#####################] 100%
mingw64 525.6 KiB 587K/s 00:01 [#####################] 100%
mingw64.sig 119.0 B 116K/s 00:00 [#####################] 100%
msys 177.6 KiB 800K/s 00:00 [#####################] 100%
msys.sig 119.0 B 0.00B/s 00:00 [#####################] 100%
:: Starting core system upgrade...
警告: terminate other MSYS2 programs before proceeding
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (6) bash-4.4.023-1 filesystem-2018.08-1 mintty-1~2.9.5-1
msys2-runtime-2.11.2-1 pacman-5.1.1-3
pacman-mirrors-20180604-2
合計ダウンロード容量: 17.59 MiB
合計インストール容量: 67.11 MiB
最終的なアップグレード容量: 10.83 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します...
msys2-runtime-2.11.... 2.5 MiB 1095K/s 00:02 [#####################] 100%
bash-4.4.023-1-x86_64 1931.4 KiB 1691K/s 00:01 [#####################] 100%
filesystem-2018.08-... 43.7 KiB 607K/s 00:00 [#####################] 100%
mintty-1~2.9.5-1-x86_64 296.7 KiB 2.36M/s 00:00 [#####################] 100%
pacman-mirrors-2018... 17.1 KiB 520K/s 00:00 [#####################] 100%
pacman-5.1.1-3-x86_64 12.8 MiB 1766K/s 00:07 [#####################] 100%
(6/6) キーリングのキーを確認 [#####################] 100%
(6/6) パッケージの整合性をチェック [#####################] 100%
(6/6) パッケージファイルのロード [#####################] 100%
(6/6) ファイルの衝突をチェック [#####################] 100%
(6/6) 空き容量を確認 [#####################] 100%
警告: opt/ のファイル情報を取得できませんでした
:: パッケージの変更を処理しています...
(1/6) 更新 msys2-runtime [#####################] 100%
(2/6) 更新 bash [#####################] 100%
(3/6) 更新 filesystem [#####################] 100%
(4/6) 更新 mintty [#####################] 100%
(5/6) 更新 pacman-mirrors [#####################] 100%
(6/6) 更新 pacman [#####################] 100%
警告: terminate MSYS2 without returning to shell and check for updates again
警告: for example close your terminal window instead of calling exit

指示に従いmsys2ターミナルをウィンドウクローズボタンで閉じる。再度msys2ターミナルを起動し2回目のアップデートを行う。

user@THINKPAD-L430 MSYS ~
$ pacman -Syuu
:: パッケージデータベースの同期中...
mingw32 は最新です
mingw64 は最新です
msys は最新です
:: Starting core system upgrade...
何も行うことがありません
:: システム全体の更新を開始...
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (67) bash-completion-2.8-2 brotli-1.0.7-1 bsdcpio-3.3.3-3
bsdtar-3.3.3-3 ca-certificates-20180409-1 coreutils-8.30-1
curl-7.62.0-1 dash-0.5.10.2-1 dtc-1.4.7-1 file-5.35-1
gawk-4.2.1-2 gcc-libs-7.3.0-3 glib2-2.54.3-1 gnupg-2.2.11-1
grep-3.0-2 heimdal-libs-7.5.0-2 icu-62.1-1 info-6.5-2
less-530-1 libarchive-3.3.3-3 libargp-20110921-2
libassuan-2.5.1-1 libcrypt-2.1-2 libcurl-7.62.0-1
libexpat-2.2.6-1 libffi-3.2.1-3 libgcrypt-1.8.4-1
libgnutls-3.6.5-1 libgpg-error-1.33-1 libgpgme-1.12.0-1
libhogweed-3.4.1-1 libidn2-2.0.5-1 libksba-1.3.5-1
liblz4-1.8.3-1 liblzma-5.2.4-1 liblzo2-2.10-2
libnettle-3.4.1-1 libnghttp2-1.34.0-1 libnpth-1.6-1
libopenssl-1.0.2.p-2 libp11-kit-0.23.14-1 libpcre-8.42-1
libpcre16-8.42-1 libpcre32-8.42-1 libpcrecpp-8.42-1
libpcreposix-8.42-1 libpsl-0.20.2-1 libreadline-7.0.005-1
libsqlite-3.21.0-4 libunistring-0.9.10-1
libutil-linux-2.32.1-1 libxml2-2.9.8-1 m4-1.4.18-2
ncurses-6.1.20180908-1 nettle-3.4.1-1 openssl-1.0.2.p-2
p11-kit-0.23.14-1 pcre-8.42-1 pinentry-1.1.0-2 pkgfile-19-1
rebase-4.4.4-1 sed-4.5-1 time-1.9-1 ttyrec-1.0.8-2
util-linux-2.32.1-1 wget-1.19.5-1 xz-5.2.4-1
合計ダウンロード容量: 35.07 MiB
合計インストール容量: 157.95 MiB
最終的なアップグレード容量: 12.78 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します...
bash-completion-2.8... 196.5 KiB 244K/s 00:01 [#####################] 100%
gcc-libs-7.3.0-3-x86_64 977.7 KiB 1318K/s 00:01 [#####################] 100%
libexpat-2.2.6-1-x86_64 72.4 KiB 1341K/s 00:00 [#####################] 100%
liblzma-5.2.4-1-x86_64 83.1 KiB 1769K/s 00:00 [#####################] 100%
liblz4-1.8.3-1-x86_64 63.8 KiB 981K/s 00:00 [#####################] 100%
liblzo2-2.10-2-x86_64 74.8 KiB 1290K/s 00:00 [#####################] 100%
libhogweed-3.4.1-1-... 148.4 KiB 2.27M/s 00:00 [#####################] 100%
libnettle-3.4.1-1-x... 108.5 KiB 1619K/s 00:00 [#####################] 100%
coreutils-8.30-1-x86_64 2.3 MiB 1318K/s 00:02 [#####################] 100%
icu-62.1-1-x86_64 7.5 MiB 1645K/s 00:05 [#####################] 100%
ncurses-6.1.2018090... 1311.1 KiB 424K/s 00:03 [#####################] 100%
libreadline-7.0.005... 271.3 KiB 2.02M/s 00:00 [#####################] 100%
libxml2-2.9.8-1-x86_64 505.3 KiB 1831K/s 00:00 [#####################] 100%
bsdcpio-3.3.3-3-x86_64 839.8 KiB 1779K/s 00:00 [#####################] 100%
bsdtar-3.3.3-3-x86_64 882.5 KiB 1776K/s 00:00 [#####################] 100%
libopenssl-1.0.2.p-... 1058.9 KiB 1477K/s 00:01 [#####################] 100%
openssl-1.0.2.p-2-x... 1376.6 KiB 638K/s 00:02 [#####################] 100%
sed-4.5-1-x86_64 223.2 KiB 2.14M/s 00:00 [#####################] 100%
libffi-3.2.1-3-x86_64 40.0 KiB 702K/s 00:00 [#####################] 100%
libpcre-8.42-1-x86_64 99.8 KiB 1782K/s 00:00 [#####################] 100%
libgpg-error-1.33-1... 156.1 KiB 2.12M/s 00:00 [#####################] 100%
libgcrypt-1.8.4-1-x... 473.0 KiB 1625K/s 00:00 [#####################] 100%
glib2-2.54.3-1-x86_64 1861.0 KiB 1576K/s 00:01 [#####################] 100%
libcrypt-2.1-2-x86_64 35.3 KiB 680K/s 00:00 [#####################] 100%
less-530-1-x86_64 108.5 KiB 1749K/s 00:00 [#####################] 100%
info-6.5-2-x86_64 183.5 KiB 1781K/s 00:00 [#####################] 100%
libp11-kit-0.23.14-... 162.0 KiB 1573K/s 00:00 [#####################] 100%
p11-kit-0.23.14-1-x... 238.9 KiB 1852K/s 00:00 [#####################] 100%
ca-certificates-201... 353.1 KiB 1327K/s 00:00 [#####################] 100%
brotli-1.0.7-1-x86_64 289.9 KiB 2.62M/s 00:00 [#####################] 100%
libsqlite-3.21.0-4-... 569.7 KiB 1255K/s 00:00 [#####################] 100%
heimdal-libs-7.5.0-... 736.6 KiB 1439K/s 00:01 [#####################] 100%
libunistring-0.9.10... 516.9 KiB 1566K/s 00:00 [#####################] 100%
libidn2-2.0.5-1-x86_64 93.6 KiB 1171K/s 00:00 [#####################] 100%
libnghttp2-1.34.0-1... 70.5 KiB 1282K/s 00:00 [#####################] 100%
libpsl-0.20.2-1-x86_64 76.1 KiB 1103K/s 00:00 [#####################] 100%
libcurl-7.62.0-1-x86_64 241.4 KiB 2.95M/s 00:00 [#####################] 100%
curl-7.62.0-1-x86_64 784.1 KiB 1131K/s 00:01 [#####################] 100%
grep-3.0-2-x86_64 246.3 KiB 2.25M/s 00:00 [#####################] 100%
dash-0.5.10.2-1-x86_64 86.4 KiB 1440K/s 00:00 [#####################] 100%
dtc-1.4.7-1-x86_64 97.3 KiB 1187K/s 00:00 [#####################] 100%
file-5.35-1-x86_64 512.8 KiB 1453K/s 00:00 [#####################] 100%
gawk-4.2.1-2-x86_64 1050.3 KiB 1382K/s 00:01 [#####################] 100%
libassuan-2.5.1-1-x... 100.1 KiB 1284K/s 00:00 [#####################] 100%
libgnutls-3.6.5-1-x... 1160.9 KiB 1412K/s 00:01 [#####################] 100%
libksba-1.3.5-1-x86_64 117.0 KiB 1540K/s 00:00 [#####################] 100%
libnpth-1.6-1-x86_64 21.8 KiB 497K/s 00:00 [#####################] 100%
nettle-3.4.1-1-x86_64 99.4 KiB 1290K/s 00:00 [#####################] 100%
pinentry-1.1.0-2-x86_64 58.8 KiB 1069K/s 00:00 [#####################] 100%
gnupg-2.2.11-1-x86_64 1939.8 KiB 1553K/s 00:01 [#####################] 100%
libarchive-3.3.3-3-... 836.7 KiB 1594K/s 00:01 [#####################] 100%
libargp-20110921-2-... 38.1 KiB 828K/s 00:00 [#####################] 100%
libgpgme-1.12.0-1-x... 334.4 KiB 2.59M/s 00:00 [#####################] 100%
libpcre16-8.42-1-x86_64 96.5 KiB 1253K/s 00:00 [#####################] 100%
libpcre32-8.42-1-x86_64 90.9 KiB 1357K/s 00:00 [#####################] 100%
libpcrecpp-8.42-1-x... 26.8 KiB 559K/s 00:00 [#####################] 100%
libpcreposix-8.42-1... 20.3 KiB 564K/s 00:00 [#####################] 100%
libutil-linux-2.32.... 238.0 KiB 2.15M/s 00:00 [#####################] 100%
m4-1.4.18-2-x86_64 218.4 KiB 2.01M/s 00:00 [#####################] 100%
pcre-8.42-1-x86_64 594.5 KiB 1223K/s 00:00 [#####################] 100%
xz-5.2.4-1-x86_64 150.3 KiB 1074K/s 00:00 [#####################] 100%
pkgfile-19-1-x86_64 41.5 KiB 740K/s 00:00 [#####################] 100%
rebase-4.4.4-1-x86_64 241.5 KiB 2.16M/s 00:00 [#####################] 100%
time-1.9-1-x86_64 38.4 KiB 712K/s 00:00 [#####################] 100%
ttyrec-1.0.8-2-x86_64 25.9 KiB 440K/s 00:00 [#####################] 100%
util-linux-2.32.1-1... 1370.5 KiB 1579K/s 00:01 [#####################] 100%
wget-1.19.5-1-x86_64 644.1 KiB 1894K/s 00:00 [#####################] 100%
(67/67) キーリングのキーを確認 [#####################] 100%
(67/67) パッケージの整合性をチェック [#####################] 100%
(67/67) パッケージファイルのロード [#####################] 100%
(67/67) ファイルの衝突をチェック [#####################] 100%
(67/67) 空き容量を確認 [#####################] 100%
警告: autorebasebase1st.bat のファイル情報を取得できませんでした
:: パッケージの変更を処理しています...
( 1/67) 更新 bash-completion [#####################] 100%
( 2/67) 更新 gcc-libs [#####################] 100%
( 3/67) 更新 libexpat [#####################] 100%
( 4/67) 更新 liblzma [#####################] 100%
( 5/67) インストール liblz4 [#####################] 100%
( 6/67) 更新 liblzo2 [#####################] 100%
( 7/67) インストール libhogweed [#####################] 100%
( 8/67) 更新 libnettle [#####################] 100%
( 9/67) 更新 coreutils [#####################] 100%
(10/67) 更新 icu [#####################] 100%
(11/67) 更新 ncurses [#####################] 100%
(12/67) 更新 libreadline [#####################] 100%
(13/67) 更新 libxml2 [#####################] 100%
(14/67) 更新 bsdcpio [#####################] 100%
(15/67) 更新 bsdtar [#####################] 100%
(16/67) 更新 libopenssl [#####################] 100%
(17/67) 更新 openssl [#####################] 100%
(18/67) 更新 sed [#####################] 100%
(19/67) 更新 libffi [#####################] 100%
(20/67) 更新 libpcre [#####################] 100%
(21/67) 更新 libgpg-error [#####################] 100%
(22/67) 更新 libgcrypt [#####################] 100%
(23/67) 更新 glib2 [#####################] 100%
(24/67) 更新 libcrypt [#####################] 100%
(25/67) 更新 less [#####################] 100%
(26/67) 更新 info [#####################] 100%
(27/67) 更新 libp11-kit [#####################] 100%
(28/67) 更新 p11-kit [#####################] 100%
(29/67) 更新 ca-certificates [#####################] 100%
(30/67) インストール brotli [#####################] 100%
(31/67) 更新 libsqlite [#####################] 100%
(32/67) 更新 heimdal-libs [#####################] 100%
(33/67) 更新 libunistring [#####################] 100%
(34/67) 更新 libidn2 [#####################] 100%
(35/67) 更新 libnghttp2 [#####################] 100%
(36/67) 更新 libpsl [#####################] 100%
(37/67) 更新 libcurl [#####################] 100%
(38/67) 更新 curl [#####################] 100%
(39/67) 更新 grep [#####################] 100%
(40/67) 更新 dash [#####################] 100%
(41/67) 更新 dtc [#####################] 100%
(42/67) 更新 file [#####################] 100%
(43/67) 更新 gawk [#####################] 100%
(44/67) 更新 libassuan [#####################] 100%
(45/67) インストール libgnutls [#####################] 100%
(46/67) インストール libksba [#####################] 100%
(47/67) インストール libnpth [#####################] 100%
(48/67) インストール nettle [#####################] 100%
(49/67) インストール pinentry [#####################] 100%
(50/67) 更新 gnupg [#####################] 100%
==> msys2.gpg からキーを追加...
gpg: starting migration from earlier GnuPG versions
gpg: porting secret keys from '/etc/pacman.d/gnupg/secring.gpg' to gpg-agent
gpg: migration succeeded
==> キーリングの信頼されたキーに署名...
-> キーに署名 D55E7A6D7CE9BA1587C0ACACF40D263ECA25678A...
-> キーに署名 123D4D51A1793859C2BE916BBBE514E53E0D0813...
-> キーに署名 B91BCF3303284BF90CC043CA9F418C233E652008...
-> キーに署名 9DD0D4217D75A33B896159E6DA7EF2ABAEEA755C...
==> 所有者信頼値をインポート...
==> 信用データベースを更新...
gpg: 信用データベースの検査は、不要です
(51/67) 更新 libarchive [#####################] 100%
(52/67) 更新 libargp [#####################] 100%
(53/67) 更新 libgpgme [#####################] 100%
(54/67) 更新 libpcre16 [#####################] 100%
(55/67) 更新 libpcre32 [#####################] 100%
(56/67) 更新 libpcrecpp [#####################] 100%
(57/67) 更新 libpcreposix [#####################] 100%
(58/67) 更新 libutil-linux [#####################] 100%
(59/67) 更新 m4 [#####################] 100%
(60/67) 更新 pcre [#####################] 100%
(61/67) 更新 xz [#####################] 100%
(62/67) 更新 pkgfile [#####################] 100%
(63/67) 更新 rebase [#####################] 100%
(64/67) 更新 time [#####################] 100%
(65/67) 更新 ttyrec [#####################] 100%
(66/67) 更新 util-linux [#####################] 100%
(67/67) 更新 wget [#####################] 100%

2回のアップデートで終了できた。