<feed xmlns="http://www.w3.org/2005/Atom" xmlns:cc="http://web.resource.org/cc/">
	<title>List of Msys2 [text.Baldanders.info]</title>
	<link rel="alternate" type="text/html" href="https://text.baldanders.info/tags/msys2/" />
	<link rel="self" type="application/atom+xml" href="https://text.baldanders.info/tags/msys2/index.xml" />
	<id>tag:text.Baldanders.info,2019-03-09:/tags</id>
	<updated>2019-03-09T12:39:15+09:00</updated>
	<subtitle>帰ってきた「しっぽのさきっちょ」</subtitle>
	<icon>https://text.baldanders.info/images/avatar.jpg</icon>
	<logo>https://text.baldanders.info/images/avatar.jpg</logo>

	<entry>
		<title>FOSS な PDF Viewer for Windows (Evince も導入できた) </title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2019/03/about-free-software-pdf-viewers/" />
		<id>tag:text.Baldanders.info,2019-03-09:/remark/2019/03/about-free-software-pdf-viewers/</id>
		<published>2019-03-09T03:39:15+00:00</published>
		<updated>2019-03-09T04:30:38+00:00</updated>
		<summary>この中で Windows 環境かつ比較的活況な製品を選ぶならやっぱ XpdfReader か MuPDF ってところか。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-JP" xml:base="https://text.baldanders.info/">&lt;p&gt;ちうわけで，&lt;a href=&#34;https://text.baldanders.info/remark/2019/03/get-a-free-software-pdf-reader/&#34; target=&#34;_blank&#34; title=&#34;いつの間にか Evince Windows 版がなくなっていた&#34;&gt;前回&lt;/a&gt;の続き。&lt;/p&gt;
&lt;p&gt;PDF Viewer は FOSS な製品からプロプライエタリな製品まで色々あるし，全部を比較するのは無理なので，&lt;a href=&#34;https://text.baldanders.info/remark/2019/03/get-a-free-software-pdf-reader/&#34; target=&#34;_blank&#34; title=&#34;いつの間にか Evince Windows 版がなくなっていた&#34;&gt;前回&lt;/a&gt;に引き続き &lt;a href=&#34;https://pdfreaders.org/&#34; target=&#34;_blank&#34; title=&#34;Get a Free Software PDF reader!&#34;&gt;PDFreaders.org&lt;/a&gt; に掲載されている製品からピックアップしてみよう。&lt;/p&gt;
&lt;p&gt;各製品のスペックは以下の通り（2019年3月時点）。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;製品名&lt;/th&gt;
          &lt;th&gt;動作環境&lt;/th&gt;
          &lt;th&gt;フォーマット&lt;/th&gt;
          &lt;th&gt;ライセンス&lt;/th&gt;
          &lt;th&gt;最近のリリース状況&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;http://projects.gnome.org/evince/&#34; target=&#34;_blank&#34;&gt;Evince&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Linux&lt;/td&gt;
          &lt;td&gt;PDF, &amp;hellip;&lt;/td&gt;
          &lt;td&gt;GPL&lt;/td&gt;
          &lt;td&gt;3.31 (2019-02-19)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;https://okular.kde.org/&#34; target=&#34;_blank&#34; title=&#34;Okular - more than a reader&#34;&gt;Okular&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Linux, macOS, Windows&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/td&gt;
          &lt;td&gt;PDF, EPUB, &amp;hellip;&lt;/td&gt;
          &lt;td&gt;GPL&lt;/td&gt;
          &lt;td&gt;1.6 (2018-12-13)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;https://www.sumatrapdfreader.org/&#34; target=&#34;_blank&#34; title=&#34;Free PDF Reader - Sumatra PDF&#34;&gt;SumatraPDF&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Windows&lt;/td&gt;
          &lt;td&gt;PDF, EPUB, &amp;hellip;&lt;/td&gt;
          &lt;td&gt;GPL&lt;/td&gt;
          &lt;td&gt;3.1.2 (2016-09-23)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;http://www.xpdfreader.com/&#34; target=&#34;_blank&#34;&gt;XpdfReader&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Linux, Windows&lt;/td&gt;
          &lt;td&gt;PDF&lt;/td&gt;
          &lt;td&gt;GPL&lt;/td&gt;
          &lt;td&gt;4.01 (2019-02-18)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;https://github.com/mozilla/pdf.js&#34; target=&#34;_blank&#34; title=&#34;mozilla/pdf.js: PDF Reader in JavaScript&#34;&gt;PDF.js&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Firefox 19+&lt;/td&gt;
          &lt;td&gt;PDF&lt;/td&gt;
          &lt;td&gt;Apache-2.0&lt;/td&gt;
          &lt;td&gt;2.1.266 (2019-02-17)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;https://launchpad.net/qpdfview&#34; target=&#34;_blank&#34; title=&#34;qpdfview in Launchpad&#34;&gt;qpdfview&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Linux, NetBSD, FreeBSD&lt;/td&gt;
          &lt;td&gt;PDF, &amp;hellip;&lt;/td&gt;
          &lt;td&gt;GPL&lt;/td&gt;
          &lt;td&gt;0.4.18 (2018-11-17)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;http://www.gnu.org/software/gv/&#34; target=&#34;_blank&#34; title=&#34;GV - GNU Project - Free Software Foundation&#34;&gt;GNU GV&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Linux macOS&lt;/td&gt;
          &lt;td&gt;PDF, PS&lt;/td&gt;
          &lt;td&gt;GPL&lt;/td&gt;
          &lt;td&gt;3.7.4 (2013-03-17)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;http://freshmeat.sourceforge.net/projects/epdfview/&#34; target=&#34;_blank&#34; title=&#34;ePDFView – Freecode&#34;&gt;ePDFView&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Linux&lt;/td&gt;
          &lt;td&gt;PDF&lt;/td&gt;
          &lt;td&gt;GPL&lt;/td&gt;
          &lt;td&gt;0.1.8 (2011-05-28)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;https://mupdf.com/&#34; target=&#34;_blank&#34;&gt;MuPDF&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Linux, windows, Android&lt;/td&gt;
          &lt;td&gt;PDF, EPUB, &amp;hellip;&lt;/td&gt;
          &lt;td&gt;AGPL&lt;/td&gt;
          &lt;td&gt;1.14.0 (2018-10-04)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a href=&#34;https://pwmt.org/projects/zathura/&#34; target=&#34;_blank&#34;&gt;zathura&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Linux&lt;/td&gt;
          &lt;td&gt;PDF, &amp;hellip;&lt;/td&gt;
          &lt;td&gt;zlib&lt;/td&gt;
          &lt;td&gt;0.4.3 (2018-12-22)&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;んー。
この中で Windows 環境かつ比較的活況な製品を選ぶならやっぱ &lt;a href=&#34;http://www.xpdfreader.com/&#34; target=&#34;_blank&#34;&gt;XpdfReader&lt;/a&gt; か &lt;a href=&#34;https://mupdf.com/&#34; target=&#34;_blank&#34;&gt;MuPDF&lt;/a&gt; ってところか。
EPUB 文書も見たいなら &lt;a href=&#34;https://mupdf.com/&#34; target=&#34;_blank&#34;&gt;MuPDF&lt;/a&gt; 一択だな。
ちなみに &lt;a href=&#34;https://mupdf.com/&#34; target=&#34;_blank&#34;&gt;MuPDF&lt;/a&gt; は &lt;a href=&#34;https://texwiki.texjp.org/?SyncTeX&#34; target=&#34;_blank&#34; title=&#34;SyncTeX - TeX Wiki&#34;&gt;SyncTeX&lt;/a&gt; に対応しているらしい。&lt;/p&gt;
&lt;p&gt;そうそう。
&lt;a href=&#34;https://mupdf.com/&#34; target=&#34;_blank&#34;&gt;MuPDF&lt;/a&gt; の Android 版で EPUB 文書を開いてみたが，見事に日本語文字がトーフ（□）になった。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;Screenshot_20190309-114206.png&#34;&gt;&lt;img src=&#34;./Screenshot_20190309-114206.png&#34; srcset=&#34;./Screenshot_20190309-114206.png 1440w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;EPUB版『続・情報共有の未来』を Android 版 MuPDF で開いてみた（笑）&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;Screenshot_20190309-114206.png&#34;&gt;EPUB版『続・情報共有の未来』を Android 版 MuPDF で開いてみた（笑）&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;実は EPUB の仕様はよく知らないのだけど&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;，おそらく対応しているフォントがないんだろう（Windows 版はちゃんと表示できる）。&lt;/p&gt;
&lt;h2&gt;&lt;a href=&#34;http://projects.gnome.org/evince/&#34; target=&#34;_blank&#34;&gt;Evince&lt;/a&gt; for &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; を導入する&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2019/03/get-a-free-software-pdf-reader/&#34; target=&#34;_blank&#34; title=&#34;いつの間にか Evince Windows 版がなくなっていた&#34;&gt;前回&lt;/a&gt;の記事で &lt;a href=&#34;http://projects.gnome.org/evince/&#34; target=&#34;_blank&#34;&gt;Evince&lt;/a&gt; の Windows 用バイナリがなくなったと書いたが &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; 経由なら導入できそうである。
ただし &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; は万人におすすめの方法ではないので，既に &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; を導入している方のみという感じだろうか。
&lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; の導入手順は以下の拙文を参考にどうぞ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-1/&#34; target=&#34;_blank&#34;&gt;MSYS2 による gcc 開発環境の構築 ― MSYS2 のインストールから初期化処理まで&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-2/&#34; target=&#34;_blank&#34;&gt;MSYS2 による gcc 開発環境の構築 ― gcc パッケージ群の導入&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ね。
万人向けじゃないでしょ。&lt;/p&gt;
&lt;p&gt;&lt;ruby&gt;&lt;rb&gt;閑話休題&lt;/rb&gt;&lt;rp&gt; (&lt;/rp&gt;&lt;rt&gt;それはさておき&lt;/rt&gt;&lt;rp&gt;) &lt;/rp&gt;&lt;/ruby&gt;， &lt;code&gt;pacman&lt;/code&gt; コマンドを使って &lt;a href=&#34;http://projects.gnome.org/evince/&#34; target=&#34;_blank&#34;&gt;Evince&lt;/a&gt; を探してみると&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pacman -Ss evince
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw32/mingw-w64-i686-evince 3.28.2-3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Document (PostScript, PDF) viewer (mingw-w64)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw64/mingw-w64-x86_64-evince 3.28.2-3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Document (PostScript, PDF) viewer (mingw-w64)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;おおっ！ あったあった。
ふむ。
&lt;code&gt;mingw32&lt;/code&gt; か &lt;code&gt;mingw64&lt;/code&gt; のいずれかのリポジトリから取るのか。
ちょいとバージョンが古いが，まぁいいか。&lt;/p&gt;
&lt;p&gt;ちなみに &lt;code&gt;mingw32&lt;/code&gt; からインストールした場合には &lt;code&gt;/mingw32&lt;/code&gt; ディレクトリ以下に &lt;code&gt;mingw64&lt;/code&gt; からインストールした場合には &lt;code&gt;/mingw64&lt;/code&gt; ディレクトリ以下にインストールされる。
Shell として bash を起動する際にはモードにご注意を。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;C:&amp;gt; SET MSYSTEM=MINGW64
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;C:&amp;gt; C:\msys64\usr\bin\bash.exe --login -i
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;じゃあ導入していこう。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pacman -S mingw-w64-x86_64-evince
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;依存関係を解決しています...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;衝突するパッケージがないか確認しています...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;警告: 循環依存が検出されました:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;警告: mingw-w64-x86_64-harfbuzz は依存パッケージ mingw-w64-x86_64-freetype の前にインストールされます
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;パッケージ (74) mingw-w64-x86_64-adwaita-icon-theme-3.30.1-1  mingw-w64-x86_64-atk-2.30.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-brotli-1.0.7-1  mingw-w64-x86_64-c-ares-1.15.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-cairo-1.16.0-1  mingw-w64-x86_64-curl-7.64.0-2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-dbus-1.12.12-1  mingw-w64-x86_64-djvulibre-3.5.27-3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-fontconfig-2.13.1-1  mingw-w64-x86_64-freeglut-3.0.0-4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-freetype-2.9.1-1  mingw-w64-x86_64-fribidi-1.0.5-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-gdk-pixbuf2-2.38.1-1  mingw-w64-x86_64-ghostscript-9.26-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-glib2-2.58.3-1  mingw-w64-x86_64-graphene-1.8.4-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-graphite2-1.3.13-1 mingw-w64-x86_64-gsettings-desktop-schemas-3.28.1-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-gsl-2.5-1  mingw-w64-x86_64-gst-plugins-base-1.14.4-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-gstreamer-1.14.4-1  mingw-w64-x86_64-gtk3-3.24.5-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-harfbuzz-2.3.1-1  mingw-w64-x86_64-hicolor-icon-theme-0.17-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-icu-62.1-1  mingw-w64-x86_64-jansson-2.12-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-jasper-2.0.14-1  mingw-w64-x86_64-jemalloc-5.1.0-3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-json-glib-1.4.4-1  mingw-w64-x86_64-lcms2-2.9-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libarchive-3.3.3-2  mingw-w64-x86_64-libcroco-0.6.12-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libdatrie-0.2.12-1  mingw-w64-x86_64-libepoxy-1.5.3-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libgcrypt-1.8.4-1  mingw-w64-x86_64-libgpg-error-1.35-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libgxps-0.3.1-1  mingw-w64-x86_64-libidn-1.35-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libidn2-2.1.1a-1  mingw-w64-x86_64-libjpeg-turbo-2.0.2-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libmetalink-0.1.3-3  mingw-w64-x86_64-libogg-1.3.3-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libpaper-1.1.24-2  mingw-w64-x86_64-libpng-1.6.36-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libpsl-0.20.2-3  mingw-w64-x86_64-librsvg-2.40.20-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libspectre-0.2.8-2  mingw-w64-x86_64-libssh2-1.8.0-3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libthai-0.1.28-2  mingw-w64-x86_64-libtheora-1.1.1-4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libtiff-4.0.10-1  mingw-w64-x86_64-libunistring-0.9.10-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libvorbis-1.3.6-1  mingw-w64-x86_64-libvorbisidec-svn-r19643-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-libxml2-2.9.9-1  mingw-w64-x86_64-libxslt-1.1.33-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-lz4-1.8.3-1  mingw-w64-x86_64-lzo2-2.10-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-nettle-3.4.1-1  mingw-w64-x86_64-nghttp2-1.36.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-nspr-4.20-1  mingw-w64-x86_64-nss-3.42.1-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-openjpeg2-2.3.0-2  mingw-w64-x86_64-opus-1.3-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-orc-0.4.28-1  mingw-w64-x86_64-pango-1.43.0-2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-pcre-8.43-1  mingw-w64-x86_64-pixman-0.38.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-poppler-0.74.0-1  mingw-w64-x86_64-poppler-data-0.4.9-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-shared-mime-info-1.12-1  mingw-w64-x86_64-wineditline-2.205-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                mingw-w64-x86_64-zstd-1.3.8-1  mingw-w64-x86_64-evince-3.28.2-3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;合計ダウンロード容量:   99.07 MiB
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;合計インストール容量:  522.88 MiB
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:: インストールを行いますか？ [Y/n]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;うひぃ，大事になっとるがな。
まぁいいや。
このまま &lt;code&gt;Y&lt;/code&gt; を返してインストールしてしまおう（以降の操作は割愛）。&lt;/p&gt;
&lt;h3&gt;&lt;a href=&#34;http://projects.gnome.org/evince/&#34; target=&#34;_blank&#34;&gt;Evince&lt;/a&gt; の起動&lt;/h3&gt;
&lt;p&gt;Explorer のコンテキストメニュー「プログラムから開く」で導入した &lt;code&gt;evince.exe&lt;/code&gt; を使って PDF ファイルを開こうとするが，私の環境では何故か上手くいかないので， shell から&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ C:\msys64\mingw64\bin\evince.exe foo.pdf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;のように起動するしかなさそうだ（引数なしならラウンチゃが開く）。
まぁ &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; ファイルシステム依存でなくてよかった。&lt;/p&gt;
&lt;p&gt;私は &lt;a href=&#34;https://text.baldanders.info/remark/2015/conemu-and-nyagos/&#34; target=&#34;_blank&#34; title=&#34;ようやく ConEmu と NYAGOS を導入した&#34;&gt;NYAGOS を使っている&lt;/a&gt;のでホームディレクトリの &lt;code&gt;.nyagos&lt;/code&gt; ファイルに&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;nyagos.alias&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;evince&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;c:/msys64/mingw64/bin/evince.exe&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とか記述しておけば&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ evince foo.pdf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;で起動できる。&lt;/p&gt;
&lt;p&gt;ちょっと扱いが面倒になってしまったが仕方がない。
普段遣いは &lt;a href=&#34;https://mupdf.com/&#34; target=&#34;_blank&#34;&gt;MuPDF&lt;/a&gt; にして， &lt;a href=&#34;https://mupdf.com/&#34; target=&#34;_blank&#34;&gt;MuPDF&lt;/a&gt; で上手く表示できない場合や PDF ファイルのプロパティを確認する際は &lt;a href=&#34;http://projects.gnome.org/evince/&#34; target=&#34;_blank&#34;&gt;Evince&lt;/a&gt; を使うって感じで。&lt;/p&gt;
&lt;p&gt;早く Windows 捨てたい。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yamamo10.jp/yamamoto/wordpress/?p=842&#34; target=&#34;_blank&#34;&gt;Windows で evince – 山本昌志のブログ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://bakunyo.hatenablog.com/entry/2014/02/16/Windows%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%81%A7alias%E3%82%92%E4%BD%BF%E3%81%84%E3%81%9F%E3%81%84&#34; target=&#34;_blank&#34;&gt;Windowsコマンドプロンプトでaliasを使いたい - ばくのエンジニア日誌&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- eof --&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://okular.kde.org/&#34; target=&#34;_blank&#34; title=&#34;Okular - more than a reader&#34;&gt;Okular&lt;/a&gt; を Windows で動作させるには &lt;a href=&#34;http://windows.kde.org/&#34; target=&#34;_blank&#34;&gt;KDE on Windows&lt;/a&gt; 環境が必要。同様に macOS では &lt;a href=&#34;https://community.kde.org/Mac&#34; target=&#34;_blank&#34;&gt;KDE on Mac OS X&lt;/a&gt; 環境が必要となる。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;EPUB 興味ないよなぁ。日本では業界主導で（縦書きがどうとか）なんか騒いでいたみたいだけど，所詮は「紙の延長」だし，それなら別に PDF でいいぢゃんと思ってしまう。そのためにも PDF Viewer が（無料じゃなくて）自由なライセンスで提供されることが重要なんだけどね。「紙」という制約が不要ならそれこそ AsciiDoc とか markdown とか Org mode とかプリミティブに HTML &amp;amp; CSS とか色々あるわけじゃん。&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>MSYS2 による gcc 開発環境の構築 ― pgpdump をビルドする</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2016/03/gcc-msys2-3/" />
		<id>tag:text.Baldanders.info,2016-03-01:/remark/2016/03/gcc-msys2-3/</id>
		<published>2016-03-01T13:02:47+00:00</published>
		<updated>2019-07-01T13:48:09+00:00</updated>
		<summary>前回で gcc を導入できたので，実際にビルドを試してみる。今回はターゲットとして pgpdump を用いる。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-JP" xml:base="https://text.baldanders.info/">&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-1/&#34; target=&#34;_blank&#34;&gt;MSYS2 のインストールから初期化処理まで&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-2/&#34; target=&#34;_blank&#34;&gt;gcc パッケージ群の導入&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-3/&#34; target=&#34;_blank&#34;&gt;pgpdump をビルドする&lt;/a&gt; （← イマココ）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-2/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 による gcc 開発環境の構築 ― gcc パッケージ群の導入&#34;&gt;前回&lt;/a&gt;で gcc を導入できたので，実際にビルドを試してみる。
今回はターゲットとして &lt;a href=&#34;https://github.com/kazu-yamamoto/pgpdump&#34; target=&#34;_blank&#34; title=&#34;kazu-yamamoto/pgpdump: A PGP packet visualizer&#34;&gt;pgpdump&lt;/a&gt; を用いる。&lt;/p&gt;
&lt;h2&gt;pgpdump&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/kazu-yamamoto/pgpdump&#34; target=&#34;_blank&#34; title=&#34;kazu-yamamoto/pgpdump: A PGP packet visualizer&#34;&gt;pgpdump&lt;/a&gt; は山本和彦さんによる &lt;a href=&#34;http://tools.ietf.org/html/rfc4880&#34; target=&#34;_blank&#34; title=&#34;RFC 4880 - OpenPGP Message Format&#34;&gt;OpenPGP&lt;/a&gt; パケットの&lt;a href=&#34;http://www.mew.org/~kazu/proj/pgpdump/ja/&#34; target=&#34;_blank&#34;&gt;視覚化ツール&lt;/a&gt;。
ソースコードは &lt;a href=&#34;https://github.com/kazu-yamamoto/pgpdump&#34; target=&#34;_blank&#34; title=&#34;kazu-yamamoto/pgpdump: A PGP packet visualizer&#34;&gt;GitHub で公開&lt;/a&gt;されているが， UNIX 系のプラットフォームを前提に作られているため &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; 上でビルドを行う。&lt;/p&gt;
&lt;p&gt;まずは &lt;a href=&#34;https://github.com/kazu-yamamoto/pgpdump&#34; target=&#34;_blank&#34; title=&#34;kazu-yamamoto/pgpdump: A PGP packet visualizer&#34;&gt;pgpdump&lt;/a&gt; のソースコードをダウンロードする。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ git clone https://github.com/kazu-yamamoto/pgpdump.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Cloning into &amp;#39;pgpdump&amp;#39;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;remote: Counting objects: 492, done.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receiving objects:  59% (291remote: Total 492 (delta 0), reused 0 (delta 0), pack-reused 492 92
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receiving objects: 100% (492/492), 180.29 KiB | 0 bytes/s, done.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Resolving deltas: 100% (320/320), done.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Checking connectivity... done.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;32bit 版のビルド&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/kazu-yamamoto/pgpdump&#34; target=&#34;_blank&#34; title=&#34;kazu-yamamoto/pgpdump: A PGP packet visualizer&#34;&gt;pgpdump&lt;/a&gt; のビルド手順は &lt;code&gt;configure&lt;/code&gt; を実行した後 make を実行する&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。
まずは何も考えずに &lt;code&gt;configure&lt;/code&gt; の実行してみる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ cd pgpdump/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ ./configure
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for gcc... gcc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether the C compiler works... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for C compiler default output file name... a.exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for suffix of executables... .exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether we are cross compiling... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for suffix of object files... o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether we are using the GNU C compiler... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether gcc accepts -g... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for gcc option to accept ISO C89... none needed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for inflate in -lz... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for BZ2_bzBuffToBuffDecompress in -lbz2... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking how to run the C preprocessor... gcc -E
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for grep that handles long lines and -e... /usr/bin/grep
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for egrep... /usr/bin/grep -E
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for ANSI C header files... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for sys/types.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for sys/stat.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for stdlib.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for string.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for memory.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for strings.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for inttypes.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for stdint.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for unistd.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for unistd.h... (cached) yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking sys/time.h usability... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking sys/time.h presence... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for sys/time.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking unixlib/local.h usability... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking unixlib/local.h presence... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for unixlib/local.h... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether time.h and sys/time.h may both be included... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether struct tm is in sys/time.h or time.h... time.h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for struct tm.tm_zone... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether tzname is declared... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for tzname... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;configure: creating ./config.status
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;config.status: creating Makefile
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;config.status: WARNING:  &amp;#39;Makefile.in&amp;#39; seems to ignore the --datarootdir setting
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;config.status: creating config.h
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/kazu-yamamoto/pgpdump&#34; target=&#34;_blank&#34; title=&#34;kazu-yamamoto/pgpdump: A PGP packet visualizer&#34;&gt;pgpdump&lt;/a&gt; ではパケット内の圧縮データを扱うため &lt;code&gt;libz&lt;/code&gt; および &lt;code&gt;libbz2&lt;/code&gt; が必要となるが，ちゃんと認識しているようだ。
これによって作成された &lt;code&gt;Makefile&lt;/code&gt; がこれ。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-makefile&#34; data-lang=&#34;makefile&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;prefix&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; /usr/local
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;exec_prefix&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;prefix&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;bindir&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;exec_prefix&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;mandir&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;prefix&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;/share/man
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LIBS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; -lbz2 -lz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CFLAGS&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; -g -O2 -O -Wall
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LDFLAGS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;VERSION&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;git tag &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tail -1 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sed -e &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/v//&amp;#39;&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;RM&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; rm -f
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;INSTALL&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;INCS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump.h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;SRCS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump.c types.c tagfuncs.c packet.c subfunc.c signature.c keys.c &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       buffer.c uatfunc.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OBJS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump.o types.o tagfuncs.o packet.o subfunc.o signature.o keys.o &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       buffer.o uatfunc.o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PROG&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;MAN&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CNF&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; config.h config.status config.cache config.log
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;MKF&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Makefile
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;.c.o&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CC&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -c &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CFLAGS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; $&amp;lt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;all&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;PROG&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;$(PROG)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;OBJS&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CC&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CFLAGS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -o &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PROG&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;OBJS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;LIBS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;LDFLAGS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;clean&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;RM&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;OBJS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PROG&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;distclean&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;RM&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;OBJS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PROG&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CNF&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;MKF&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;INSTALL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -d &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DESTDIR&lt;span class=&#34;k&#34;&gt;)$(&lt;/span&gt;bindir&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;INSTALL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -cp -pm755 &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PROG&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DESTDIR&lt;span class=&#34;k&#34;&gt;)$(&lt;/span&gt;bindir&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;INSTALL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -d &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DESTDIR&lt;span class=&#34;k&#34;&gt;)$(&lt;/span&gt;mandir&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/man1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;INSTALL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -cp -pm644 &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;MAN&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DESTDIR&lt;span class=&#34;k&#34;&gt;)$(&lt;/span&gt;mandir&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/man1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;archive&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    git archive master -o ~/pgpdump-&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;VERSION&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;.tar --prefix&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;pgpdump-&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;VERSION&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    gzip ~/pgpdump-&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;VERSION&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;.tar
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この時点での問題は以下のとおり。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;prefix&lt;/code&gt; が &lt;code&gt;/usr/local&lt;/code&gt; になっている。このままでもエラーにはならないが，今回は 32bit 版と 64bit 版を分けたいので &lt;code&gt;/mingw32&lt;/code&gt; としたい&lt;/li&gt;
&lt;li&gt;リンク時のオプション（&lt;code&gt;LDFLAGS&lt;/code&gt;）に &lt;code&gt;-static&lt;/code&gt; がないため，このままビルドすると DLL に依存する構成になってしまう&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;これらについては &lt;code&gt;configure&lt;/code&gt; に情報を渡せばよい。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ ./configure --prefix=/mingw32 LDFLAGS=-static
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これで &lt;code&gt;Makefile&lt;/code&gt; は以下のようになる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-makefile&#34; data-lang=&#34;makefile&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;prefix&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; /mingw32
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;exec_prefix&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;prefix&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;bindir&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;exec_prefix&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;mandir&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;prefix&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;/share/man
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LIBS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; -lbz2 -lz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CFLAGS&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; -g -O2 -O -Wall
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LDFLAGS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; -static
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;VERSION&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;git tag &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tail -1 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sed -e &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/v//&amp;#39;&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;RM&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; rm -f
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;INSTALL&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;INCS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump.h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;SRCS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump.c types.c tagfuncs.c packet.c subfunc.c signature.c keys.c &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       buffer.c uatfunc.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OBJS&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump.o types.o tagfuncs.o packet.o subfunc.o signature.o keys.o &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       buffer.o uatfunc.o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PROG&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;MAN&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; pgpdump.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CNF&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; config.h config.status config.cache config.log
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;MKF&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Makefile
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;.c.o&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CC&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -c &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CFLAGS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; $&amp;lt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;all&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;PROG&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;$(PROG)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;OBJS&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CC&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CFLAGS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -o &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PROG&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;OBJS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;LIBS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;LDFLAGS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;clean&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;RM&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;OBJS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PROG&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;distclean&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;RM&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;OBJS&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PROG&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CNF&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;MKF&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;INSTALL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -d &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DESTDIR&lt;span class=&#34;k&#34;&gt;)$(&lt;/span&gt;bindir&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;INSTALL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -cp -pm755 &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PROG&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DESTDIR&lt;span class=&#34;k&#34;&gt;)$(&lt;/span&gt;bindir&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;INSTALL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -d &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DESTDIR&lt;span class=&#34;k&#34;&gt;)$(&lt;/span&gt;mandir&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/man1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;INSTALL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; -cp -pm644 &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;MAN&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DESTDIR&lt;span class=&#34;k&#34;&gt;)$(&lt;/span&gt;mandir&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/man1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;archive&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    git archive master -o ~/pgpdump-&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;VERSION&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;.tar --prefix&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;pgpdump-&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;VERSION&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    gzip ~/pgpdump-&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;VERSION&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;.tar
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;では make を実行しよう。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ make
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall pgpdump.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall types.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall tagfuncs.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall packet.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall subfunc.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall signature.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall keys.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall buffer.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall uatfunc.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -g -O2 -O -Wall -o pgpdump pgpdump.o types.o tagfuncs.o packet.o subfunc.o signature.o keys.o buffer.o uatfunc.o -lbz2 -lz  -static
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ strip pgpdump.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;できた実行ファイルをコマンドプロンプトから起動してみる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;C:&amp;gt;pgpdump.exe -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pgpdump.exe version 0.29, Copyright (C) 1998-2014 Kazu Yamamoto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;うまくいったようである。&lt;/p&gt;
&lt;h2&gt;64bit 版のビルド&lt;/h2&gt;
&lt;p&gt;32bit 版で要領は分かったので一気に終わらせてしまおう。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ git clone https://github.com/kazu-yamamoto/pgpdump.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Cloning into &amp;#39;pgpdump&amp;#39;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;remote: Counting objects: 492, done.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receiving objects:  62% (306remote: Total 492 (delta 0), reused 0 (delta 0), pack-reused 492/92
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Receiving objects: 100% (492/492), 180.29 KiB | 0 bytes/s, done.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Resolving deltas: 100% (320/320), done.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Checking connectivity... done.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ cd pgpdump/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ ./configure --prefix=/mingw64 LDFLAGS=-static
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for gcc... gcc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether the C compiler works... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for C compiler default output file name... a.exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for suffix of executables... .exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether we are cross compiling... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for suffix of object files... o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether we are using the GNU C compiler... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether gcc accepts -g... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for gcc option to accept ISO C89... none needed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for inflate in -lz... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for BZ2_bzBuffToBuffDecompress in -lbz2... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking how to run the C preprocessor... gcc -E
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for grep that handles long lines and -e... /usr/bin/grep
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for egrep... /usr/bin/grep -E
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for ANSI C header files... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for sys/types.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for sys/stat.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for stdlib.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for string.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for memory.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for strings.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for inttypes.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for stdint.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for unistd.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for unistd.h... (cached) yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking sys/time.h usability... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking sys/time.h presence... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for sys/time.h... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking unixlib/local.h usability... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking unixlib/local.h presence... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for unixlib/local.h... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether time.h and sys/time.h may both be included... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether struct tm is in sys/time.h or time.h... time.h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for struct tm.tm_zone... no
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking whether tzname is declared... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;checking for tzname... yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;configure: creating ./config.status
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;config.status: creating Makefile
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;config.status: WARNING:  &amp;#39;Makefile.in&amp;#39; seems to ignore the --datarootdir setting
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;config.status: creating config.h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ make
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall pgpdump.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall types.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall tagfuncs.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall packet.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall subfunc.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall signature.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall keys.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall buffer.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -c -g -O2 -O -Wall uatfunc.c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cc -g -O2 -O -Wall -o pgpdump pgpdump.o types.o tagfuncs.o packet.o subfunc.o signature.o keys.o buffer.o uatfunc.o -lbz2 -lz  -static
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ strip pgpdump.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これもコマンドプロンプト上で起動してみる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;C:&amp;gt;pgpdump.exe -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pgpdump.exe version 0.29, Copyright (C) 1998-2014 Kazu Yamamoto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;問題なし。&lt;/p&gt;
&lt;h2&gt;動作確認&lt;/h2&gt;
&lt;p&gt;実際にちゃんと動くかどうか &lt;a href=&#34;https://www.jpcert.or.jp/jpcert-pgp.html&#34; target=&#34;_blank&#34; title=&#34;JPCERT コーディネーションセンター PGP公開鍵&#34;&gt;JPCERT/CC の公開鍵&lt;/a&gt;をを使って確認してみる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;C:&amp;gt;pgpdump.exe info-0x69ECE048.asc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Old: Public Key Packet(tag 6)(269 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Ver 4 - new
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Public key creation time - Tue Jun 02 14:43:57 東京 (標準時) 2009
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Pub alg - RSA Encrypt or Sign(pub 1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        RSA n(2048 bits) - ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        RSA e(17 bits) - ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Old: User ID Packet(tag 13)(29 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        User ID - JPCERT/CC &amp;lt;info@jpcert.or.jp&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Old: Signature Packet(tag 2)(316 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Ver 4 - new
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Sig type - Generic certification of a User ID and Public Key packet(0x10).
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Pub alg - RSA Encrypt or Sign(pub 1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash alg - SHA1(hash 2)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: preferred symmetric algorithms(sub 11)(3 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Sym alg - AES with 256-bit key(sym 9)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Sym alg - CAST5(sym 3)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Sym alg - Triple-DES(sym 2)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: key server preferences(sub 23)(4 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Flag - No-modify
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: key flags(sub 27)(4 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Flag - This key may be used to certify other keys
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Flag - This key may be used to sign data
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Flag - This key may be used to encrypt communications
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Flag - This key may be used to encrypt storage
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Flag - The private component of this key may be in the possession of more than one person
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: preferred compression algorithms(sub 22)(2 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Comp alg - ZLIB &amp;lt;RFC1950&amp;gt;(comp 2)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Comp alg - ZIP &amp;lt;RFC1951&amp;gt;(comp 1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: features(sub 30)(4 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Flag - Modification detection (packets 18 and 19)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: preferred hash algorithms(sub 21)(3 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Hash alg - SHA256(hash 8)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Hash alg - SHA384(hash 9)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Hash alg - SHA512(hash 10)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: signature creation time(sub 2)(4 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Time - Tue Jun 16 12:51:22 東京 (標準時) 2009
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Sub: issuer key ID(sub 16)(8 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Key ID - 0x317D97A469ECE048
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash left 2 bytes - cd 79
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        RSA m^d mod n(2047 bits) - ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                -&amp;gt; PKCS-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Old: Signature Packet(tag 2)(277 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Ver 3 - old
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash material(5 bytes):
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Sig type - Generic certification of a User ID and Public Key packet(0x10).
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Creation time - Tue Jun 02 14:43:57 東京 (標準時) 2009
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Key ID - 0xE7734FA60C7BDE12
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Pub alg - RSA Encrypt or Sign(pub 1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash alg - SHA1(hash 2)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash left 2 bytes - e9 53
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        RSA m^d mod n(2047 bits) - ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                -&amp;gt; PKCS-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Old: Signature Packet(tag 2)(156 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Ver 4 - new
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Sig type - Generic certification of a User ID and Public Key packet(0x10).
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Pub alg - RSA Encrypt or Sign(pub 1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash alg - SHA1(hash 2)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: signature creation time(sub 2)(4 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Time - Mon Jun 15 14:51:27 東京 (標準時) 2009
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Sub: issuer key ID(sub 16)(8 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Key ID - 0x8C756B2E2C94D4ED
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash left 2 bytes - 35 fd
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        RSA m^d mod n(1022 bits) - ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                -&amp;gt; PKCS-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Old: Public Subkey Packet(tag 14)(269 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Ver 4 - new
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Public key creation time - Tue Jun 02 14:43:57 東京 (標準時) 2009
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Pub alg - RSA Encrypt or Sign(pub 1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        RSA n(2048 bits) - ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        RSA e(17 bits) - ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Old: Signature Packet(tag 2)(577 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Ver 4 - new
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Sig type - Subkey Binding Signature(0x18).
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Pub alg - RSA Encrypt or Sign(pub 1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash alg - SHA1(hash 2)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: signature creation time(sub 2)(4 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Time - Tue Jun 02 14:43:58 東京 (標準時) 2009
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: key flags(sub 27)(4 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Flag - This key may be used to encrypt communications
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Flag - This key may be used to encrypt storage
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: embedded signature(sub 32)(284 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Ver 4 - new
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Sig type - Primary Key Binding Signature(0x19).
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Pub alg - RSA Encrypt or Sign(pub 1)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash alg - SHA256(hash 8)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hashed Sub: signature creation time(sub 2)(4 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Time - Tue Jun 02 14:43:57 東京 (標準時) 2009
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Sub: issuer key ID(sub 16)(8 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Key ID - 0x09D704B753BA1622
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash left 2 bytes - 71 2d
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        RSA m^d mod n(2048 bits) - ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                -&amp;gt; PKCS-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Sub: issuer key ID(sub 16)(8 bytes)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                Key ID - 0x317D97A469ECE048
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Hash left 2 bytes - 1d e2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        RSA m^d mod n(2046 bits) - ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                -&amp;gt; PKCS-1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;うむ，問題ないようだな。
ちなみに Windows バイナリは&lt;a href=&#34;https://baldanders.info/spiegel/pgpdump/&#34; target=&#34;_blank&#34;&gt;うちのサイトでも公開&lt;/a&gt;しているのでご自由にどうぞ。&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-2/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 による gcc 開発環境の構築 ― gcc パッケージ群の導入&#34;&gt;前回&lt;/a&gt;インストールした &lt;code&gt;base-devel&lt;/code&gt; パッケージグループは今回の &lt;a href=&#34;https://github.com/kazu-yamamoto/pgpdump&#34; target=&#34;_blank&#34; title=&#34;kazu-yamamoto/pgpdump: A PGP packet visualizer&#34;&gt;pgpdump&lt;/a&gt; ビルドには必要なく，インストールしなくても問題ない。まぁ今回は単純なビルドだし。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>MSYS2 による gcc 開発環境の構築 ― gcc パッケージ群の導入</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2016/03/gcc-msys2-2/" />
		<id>tag:text.Baldanders.info,2016-03-01:/remark/2016/03/gcc-msys2-2/</id>
		<published>2016-03-01T13:02:44+00:00</published>
		<updated>2019-07-01T13:48:09+00:00</updated>
		<summary>いよいよ gcc をインストールする。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-JP" xml:base="https://text.baldanders.info/">&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-1/&#34; target=&#34;_blank&#34;&gt;MSYS2 のインストールから初期化処理まで&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-2/&#34; target=&#34;_blank&#34;&gt;gcc パッケージ群の導入&lt;/a&gt; （← イマココ）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-3/&#34; target=&#34;_blank&#34;&gt;pgpdump をビルドする&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;いよいよ gcc をインストールする。
その前に&amp;hellip;&lt;/p&gt;
&lt;h2&gt;pacman によるパッケージ管理&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-1/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 による gcc 開発環境の構築 ― インストールから初期化処理まで&#34;&gt;前回&lt;/a&gt;の初期化でもちょっとだけ出てきたが， &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; のパッケージ管理には pacman コマンドを使う。
pacman は元々 Arch Linux のパッケージ管理ツールで，使い方もこれと同じようだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://archlinuxjp.kusakata.com/wiki/Pacman&#34; target=&#34;_blank&#34;&gt;pacman - ArchWiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;よく使うコマンドとしては&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;コマンドライン&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;処理内容&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -S &amp;lt;package_name1&amp;gt; [package_name2...]&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;指定したパッケージをインストールする&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -Sl [repository]&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;パッケージを一覧表示する（リポジトリを指定可能）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -Ss [regex...]&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;パッケージを一覧・検索する（キーワードを指定可能）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -Su&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;インストール済みのパッケージを更新する&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -Sy&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;パッケージのデータベースを更新する&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -Syu&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;-Su&lt;/code&gt;, &lt;code&gt;-Sy&lt;/code&gt; の同時指定&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -Q [package_name...]&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;インストール済みパッケージを一覧・検索する（パッケージを指定可能）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -Qs [regex...]&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;インストール済みパッケージを一覧・検索する（をキーワードを指定可能）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -R &amp;lt;package_name&amp;gt;&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;指定したパッケージを削除する&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pacman -Rs &amp;lt;package_name&amp;gt;&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;依存関係を含めて指定したパッケージを削除する（指定したパッケージにのみ依存するパッケージを削除）&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;あたりか。&lt;/p&gt;
&lt;h3&gt;MSYS2 のリポジトリ&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;/etc/pacman.conf&lt;/code&gt; を見ると MSYS2 では &lt;code&gt;mingw32&lt;/code&gt;, &lt;code&gt;mingw64&lt;/code&gt;, &lt;code&gt;msys&lt;/code&gt; の3つのリポジトリを管理していることが分かる。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;リポジトリ名&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;参照ファイル&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mingw32&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;/etc/pacman.d/mirrorlist.mingw32&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mingw64&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;/etc/pacman.d/mirrorlist.mingw64&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;msys&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;/etc/pacman.d/mirrorlist.msys&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;実際には「参照ファイル」にリポジトリへの URI が書かれている。
たとえば &lt;code&gt;/etc/pacman.d/mirrorlist.mingw32&lt;/code&gt; ならこんな感じ。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;##
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;## 32-bit Mingw-w64 repository mirrorlist
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;##
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;## Primary
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;## msys2.org
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Server = http://repo.msys2.org/mingw/i686
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Server = http://www2.futureware.at/~nickoe/msys2-mirror/i686/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;では実際にリポジトリの中を覗いてみよう。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pacman -Sl | grep gcc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw32 mingw-w64-i686-gcc 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw32 mingw-w64-i686-gcc-ada 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw32 mingw-w64-i686-gcc-fortran 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw32 mingw-w64-i686-gcc-libgfortran 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw32 mingw-w64-i686-gcc-libs 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw32 mingw-w64-i686-gcc-objc 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw64 mingw-w64-x86_64-gcc 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw64 mingw-w64-x86_64-gcc-ada 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw64 mingw-w64-x86_64-gcc-fortran 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw64 mingw-w64-x86_64-gcc-libgfortran 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw64 mingw-w64-x86_64-gcc-libs 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mingw64 mingw-w64-x86_64-gcc-objc 7.3.0-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msys gcc 6.4.0-3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msys gcc-fortran 6.4.0-3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msys gcc-libs 6.4.0-3 [インストール済み]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msys mingw-w64-cross-gcc 6.4.0-2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;どれを使うかはユーザ次第だが，今回は &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; 内ではなく Windows 環境で動作するアプリケーションを作りたいので， &lt;code&gt;mingw32&lt;/code&gt; および &lt;code&gt;mingw64&lt;/code&gt; リポジトリのものを導入する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://qiita.com/chromabox/items/fd07bad3f426101fc4a6&#34; target=&#34;_blank&#34;&gt;Windowsでgccなどを利用できるMSYS2の環境設定など - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;gcc のインストール&lt;/h2&gt;
&lt;p&gt;では gcc のインストールを始めよう。
今回は以下のパッケージグループを導入する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;base-devel&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mingw-w64-i686-toolchain&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mingw-w64-x86_64-toolchain&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ものすごく分かりにくいが &lt;code&gt;mingw-w64-x86_64-toolchain&lt;/code&gt; が 64bit 用である。
コマンドラインは以下の通り（ログがかなり長くなるので省略）。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pacman -S base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;gcc の動作確認&lt;/h3&gt;
&lt;p&gt;まずは 32bit 版の動作確認。
&lt;code&gt;mingw32.exe&lt;/code&gt; を起動，または 環境変数 &lt;code&gt;MSYSTEM&lt;/code&gt; に &lt;code&gt;MINGW32&lt;/code&gt; をセットして shell を起動する。
&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-1/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 による gcc 開発環境の構築 ― インストールから初期化処理まで&#34;&gt;前回&lt;/a&gt;紹介した &lt;a href=&#34;https://conemu.github.io/&#34; target=&#34;_blank&#34; title=&#34;ConEmu - Handy Windows Terminal&#34;&gt;ConEmu&lt;/a&gt; を使うのであれば以下のシーケンスで起動できる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set MSYSTEM=MINGW32 &amp;amp; chcp 65001 &amp;amp; C:\msys64\usr\bin\bash.exe --login -i
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;gcc を起動して動作確認。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gcc -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Using built-in specs.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;COLLECT_GCC=C:\msys64\mingw32\bin\gcc.exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;COLLECT_LTO_WRAPPER=C:/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/7.3.0/lto-wrapper.exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Target: i686-w64-mingw32
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Configured with: ../gcc-7.3.0/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 --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 --enable-libstdcxx-filesystem-ts=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --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-pkgversion=&amp;#39;Rev1, Built by MSYS2 project&amp;#39; --with-bugurl=https://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld --disable-sjlj-exceptions --with-dwarf2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thread model: posix
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gcc version 7.3.0 (Rev1, Built by MSYS2 project)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;次に 64bit 版の動作確認。
動作確認には &lt;code&gt;mingw64.exe&lt;/code&gt; を起動，または 環境変数 &lt;code&gt;MSYSTEM&lt;/code&gt; に &lt;code&gt;MINGW64&lt;/code&gt; をセットして shell を起動する。
&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-1/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 による gcc 開発環境の構築 ― インストールから初期化処理まで&#34;&gt;前回&lt;/a&gt;紹介した &lt;a href=&#34;https://conemu.github.io/&#34; target=&#34;_blank&#34; title=&#34;ConEmu - Handy Windows Terminal&#34;&gt;ConEmu&lt;/a&gt; を使うのであれば以下のシーケンスで起動できる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set MSYSTEM=MINGW64 &amp;amp; chcp 65001 &amp;amp; C:\msys64\usr\bin\bash.exe --login -i
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;gcc を起動して動作確認。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gcc -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Using built-in specs.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;COLLECT_GCC=C:\msys64\mingw64\bin\gcc.exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;COLLECT_LTO_WRAPPER=C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/lto-wrapper.exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Target: x86_64-w64-mingw32
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Configured with: ../gcc-7.3.0/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 --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 --enable-libstdcxx-filesystem-ts=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --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-pkgversion=&amp;#39;Rev1, Built by MSYS2 project&amp;#39; --with-bugurl=https://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thread model: posix
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gcc version 7.3.0 (Rev1, Built by MSYS2 project)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ターゲット名が &lt;code&gt;x86_64-w64-mingw32&lt;/code&gt; となっていて非常に分かりにくいが， mingw32 版では &lt;code&gt;i686-w64-mingw32&lt;/code&gt; となっているので，なんとか区別して欲しい。&lt;/p&gt;
&lt;h2&gt;gcc のスレッドモデルと例外処理&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; で提供される gcc のスレッドモデルと例外処理は以下のようになっているらしい。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote cite=&#34;http://sourceforge.net/p/msys2/tickets/24/&#34;&gt;
&lt;q&gt;On MSYS2 I maintain only one configuration:&lt;br&gt;
32-bit: threads=posix, exceptions=dwarf&lt;br&gt;
64-bit: threads=posix, exceptions=seh&lt;/q&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;http://sourceforge.net/p/msys2/tickets/24/&#34;&gt;MSYS2 / Tickets / #24 Mingw64 downloads through msys2?&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; のベースになっている &lt;a href=&#34;http://mingw-w64.org/&#34; target=&#34;_blank&#34; title=&#34;Mingw-w64 - GCC for Windows 64 &amp;amp; 32 bits [mingw-w64]&#34;&gt;MinGW-w64&lt;/a&gt; のスレッドモデルには win32 と posix が提供されている。 win32 は Windows ネイティブなスレッド関連関数を使っているため速いが， C++11 の thread, mutex, future はサポートしていないらしい。
一方，例外処理には SJLJ（SetJump/LongJump）， &lt;a href=&#34;http://ja.wikipedia.org/wiki/DWARF&#34; target=&#34;_blank&#34;&gt;DWARF&lt;/a&gt;2， SEH（Structured Exception Handling）があり，この中では Windows ネイティブな SEH が一番速い。ただし SEH は 64bit gcc でしか対応していないため 32bit 環境では使えない&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://mingw-w64.org/&#34; target=&#34;_blank&#34; title=&#34;Mingw-w64 - GCC for Windows 64 &amp;amp; 32 bits [mingw-w64]&#34;&gt;MinGW-w64&lt;/a&gt; のもうひとつの実装である &lt;a href=&#34;http://tdm-gcc.tdragon.net/&#34; target=&#34;_blank&#34; title=&#34;TDM-GCC&#34;&gt;TDM-GCC&lt;/a&gt; では，スレッドモデルには posix，例外処理には SJLJ（32bit）または SEH（64bit）が設定されているようだ。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote cite=&#34;http://tdm-gcc.tdragon.net/quirks&#34;&gt;
&lt;q&gt;TDM-GCC includes a pthreads emulation layer for Microsoft Windows systems, called &#34;winpthreads&#34;. This lets you use std::thread and other C++11 concurrency features in your programs, out of the box.&lt;br&gt;
[...]&lt;br&gt;
64-bit binaries use &#34;SEH&#34;, which stands for &#34;Structured Exception Handling&#34;.&lt;br&gt;
[...]&lt;br&gt;
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.&lt;/q&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;http://tdm-gcc.tdragon.net/quirks&#34;&gt;TDM-GCC : Quirks&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-3/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 による gcc 開発環境の構築 ― pgpdump をビルドする&#34;&gt;次回&lt;/a&gt;は実際にビルドを行う。&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;ちなみにオリジナルの &lt;a href=&#34;http://mingw-w64.org/&#34; target=&#34;_blank&#34; title=&#34;Mingw-w64 - GCC for Windows 64 &amp;amp; 32 bits [mingw-w64]&#34;&gt;MinGW-w64&lt;/a&gt; ではインストール時にスレッドモデルと例外処理を選択できる。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>MSYS2 による gcc 開発環境の構築 ― MSYS2 のインストールから初期化処理まで</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2016/03/gcc-msys2-1/" />
		<id>tag:text.Baldanders.info,2016-03-01:/remark/2016/03/gcc-msys2-1/</id>
		<published>2016-03-01T13:02:41+00:00</published>
		<updated>2019-07-01T13:48:09+00:00</updated>
		<summary>MSYS の後継（？）とも言える MSYS2 では開発環境を 32bit と 64bit で併設できるらしい。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-JP" xml:base="https://text.baldanders.info/">&lt;p&gt;これは Qiita の以下の記事からの再構成である。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://qiita.com/spiegel-im-spiegel/items/ba4e8d2418bdfe0c8049&#34; target=&#34;_blank&#34;&gt;MSYS2 による gcc 開発環境の構築 - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://qiita.com/spiegel-im-spiegel/items/877cbfb970509b272fc1&#34; target=&#34;_blank&#34;&gt;MSYS2 による gcc 開発環境の構築（2） - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここでは以下の3部構成になっている。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-1/&#34; target=&#34;_blank&#34;&gt;MSYS2 のインストールから初期化処理まで&lt;/a&gt; （← イマココ）&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-2/&#34; target=&#34;_blank&#34;&gt;gcc パッケージ群の導入&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-3/&#34; target=&#34;_blank&#34;&gt;pgpdump をビルドする&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;gcc と MSYS2&lt;/h2&gt;
&lt;p&gt;MSYS の後継（？）とも言える &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; では gcc を含む開発環境を 32bit と 64bit で併設できるらしい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34;&gt;MSYS2 installer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/msys2&#34; target=&#34;_blank&#34;&gt;msys2&lt;/a&gt; : GitHub ページ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今回は &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; を使って gcc 開発環境を構築する。&lt;/p&gt;
&lt;p&gt;なお，単に gcc が欲しいのであれば &lt;a href=&#34;http://mingw-w64.org/&#34; target=&#34;_blank&#34; title=&#34;Mingw-w64 - GCC for Windows 64 &amp;amp; 32 bits [mingw-w64]&#34;&gt;MinGW-w64&lt;/a&gt; から Windows 用のバイナリを取得するほうがお勧めである&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2018/03/mingw-w64/&#34; target=&#34;_blank&#34;&gt;MinGW-w64 を導入する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;そうではなく autotools などを含む UNIX 互換の環境が必要なのであれば，今回紹介する &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; が適切と思われる（UNIX 系のコマンドを Windows にポーティングする場合など）。
また開発環境は要らないが UNIX 互換の動作環境が欲しいだけなら &lt;a href=&#34;http://git-for-windows.github.io/&#34; target=&#34;_blank&#34; title=&#34;Git for Windows&#34;&gt;Git for Windows&lt;/a&gt; を導入する手もある&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;h2&gt;MSYS2 のインストール&lt;/h2&gt;
&lt;p&gt;では早速 64bit 版インストーラ（今回は &lt;code&gt;msys2-x86_64-20161025.exe&lt;/code&gt; を使用）でインストールを行ってみる。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/25210363812/&#34;&gt;&lt;img src=&#34;https://photo.baldanders.info/flickr/image/25210363812_m.png&#34; srcset=&#34;https://photo.baldanders.info/flickr/image/25210363812_m.png 500w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;MSYS2 Installing (1)&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/25210363812/&#34;&gt;MSYS2 Installing (1)&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;わお！ 日本語だ。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/25032985150/&#34;&gt;&lt;img src=&#34;https://photo.baldanders.info/flickr/image/25032985150_m.png&#34; srcset=&#34;https://photo.baldanders.info/flickr/image/25032985150_m.png 500w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;MSYS2 Installing (2)&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/25032985150/&#34;&gt;MSYS2 Installing (2)&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/24960938719/&#34;&gt;&lt;img src=&#34;https://photo.baldanders.info/flickr/image/24960938719_m.png&#34; srcset=&#34;https://photo.baldanders.info/flickr/image/24960938719_m.png 500w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;MSYS2 Installing (3)&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/24960938719/&#34;&gt;MSYS2 Installing (3)&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/25235500391/&#34;&gt;&lt;img src=&#34;https://photo.baldanders.info/flickr/image/25235500391_m.png&#34; srcset=&#34;https://photo.baldanders.info/flickr/image/25235500391_m.png 500w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;MSYS2 Installing (5)&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/25235500391/&#34;&gt;MSYS2 Installing (5)&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/25235500391/&#34;&gt;&lt;img src=&#34;https://photo.baldanders.info/flickr/image/25235500391_m.png&#34; srcset=&#34;https://photo.baldanders.info/flickr/image/25235500391_m.png 500w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;MSYS2 Installing (5)&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/25235500391/&#34;&gt;MSYS2 Installing (5)&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;このまま「完了」するとターミナル（&lt;a href=&#34;https://mintty.github.io/&#34; target=&#34;_blank&#34; title=&#34;Mintty — Cygwin Terminal emulator&#34;&gt;mintty&lt;/a&gt;）が起動する。
のだが，ここでちょっと寄り道する。
「MSYS2 64bit を実行中」のチェックを外して「完了」しよう。&lt;/p&gt;
&lt;h3&gt;MSYS2 起動モード&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; には3つの起動モジュールがある（64bit 版をインストールした場合）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mingw32.exe&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mingw64.exe&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;msys2.exe&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;またそれぞれに ini ファイルが用意されている。
たとえば &lt;code&gt;msys2.exe&lt;/code&gt; であればこんな感じ。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#MSYS=winsymlinks:nativestrict&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#MSYS=error_start:mingw64/bin/qtcreator.exe|-debug|&amp;lt;process-id&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#CHERE_INVOKING=1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#MSYS2_PATH_TYPE=inherit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;MSYSTEM&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;MSYS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;どうやら ini ファイルの内容をそのまま環境変数として渡しているようだ。
このうち &lt;code&gt;MSYSTEM&lt;/code&gt; に注目すると以下のようになっている。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;バッチファイル&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;セットする値&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mingw32.exe&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;MINGW32&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mingw64.exe&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;MINGW64&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;msys2.exe&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;MSYS&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;code&gt;MSYSTEM&lt;/code&gt; は &lt;code&gt;/etc/profile&lt;/code&gt; 内で参照される。
以下に &lt;code&gt;/etc/profile&lt;/code&gt; の一部を引用する。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-test&#34; data-lang=&#34;test&#34;&gt;MSYS2_PATH=&amp;#34;/usr/local/bin:/usr/bin:/bin&amp;#34;
MANPATH=&amp;#39;/usr/local/man:/usr/share/man:/usr/man:/share/man&amp;#39;
INFOPATH=&amp;#39;/usr/local/info:/usr/share/info:/usr/info:/share/info&amp;#39;

case &amp;#34;${MSYS2_PATH_TYPE:-minimal}&amp;#34; in
  strict)
    # Do not inherit any path configuration, and allow for full customization
    # of external path. This is supposed to be used in special cases such as
    # debugging without need to change this file, but not daily usage.
    unset ORIGINAL_PATH
    ;;
  inherit)
    # Inherit previous path. Note that this will make all of the Windows path
    # available in current shell, with possible interference in project builds.
    ORIGINAL_PATH=&amp;#34;${ORIGINAL_PATH:-${PATH}}&amp;#34;
    ;;
  *)
    # Do not inherit any path configuration but configure a default Windows path
    # suitable for normal usage with minimal external interference.
    WIN_ROOT=&amp;#34;$(PATH=${MSYS2_PATH} cygpath -Wu)&amp;#34;
    ORIGINAL_PATH=&amp;#34;${WIN_ROOT}/System32:${WIN_ROOT}:${WIN_ROOT}/System32/Wbem:${WIN_ROOT}/System32/WindowsPowerShell/v1.0/&amp;#34;
esac

unset MINGW_MOUNT_POINT
source &amp;#39;/etc/msystem&amp;#39;
case &amp;#34;${MSYSTEM}&amp;#34; in
MINGW32)
  MINGW_MOUNT_POINT=&amp;#34;${MINGW_PREFIX}&amp;#34;
  PATH=&amp;#34;${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL_PATH:+:${ORIGINAL_PATH}}&amp;#34;
  PKG_CONFIG_PATH=&amp;#34;${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig&amp;#34;
  ACLOCAL_PATH=&amp;#34;${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal&amp;#34;
  MANPATH=&amp;#34;${MINGW_MOUNT_POINT}/share/man:${MANPATH}&amp;#34;
  ;;
MINGW64)
  MINGW_MOUNT_POINT=&amp;#34;${MINGW_PREFIX}&amp;#34;
  PATH=&amp;#34;${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL_PATH:+:${ORIGINAL_PATH}}&amp;#34;
  PKG_CONFIG_PATH=&amp;#34;${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig&amp;#34;
  ACLOCAL_PATH=&amp;#34;${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal&amp;#34;
  MANPATH=&amp;#34;${MINGW_MOUNT_POINT}/share/man:${MANPATH}&amp;#34;
  ;;
*)
  PATH=&amp;#34;${MSYS2_PATH}:/opt/bin${ORIGINAL_PATH:+:${ORIGINAL_PATH}}&amp;#34;
  PKG_CONFIG_PATH=&amp;#34;/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig&amp;#34;
esac
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;MINGW32&lt;/code&gt; または &lt;code&gt;MINGW64&lt;/code&gt; の場合は，新たに &lt;code&gt;/mingw32&lt;/code&gt; または &lt;code&gt;/mingw64&lt;/code&gt; がパス等に追加されているのがお分かりだろうか。&lt;/p&gt;
&lt;h3&gt;ConEmu から MSYS2 bash を起動する&lt;/h3&gt;
&lt;p&gt;以上から，環境変数 &lt;code&gt;MSYSTEM&lt;/code&gt; を適切に設定すれば &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; の起動モジュールを介さずに shell を起動しても構わないことが分かる。
ここでは &lt;a href=&#34;https://conemu.github.io/&#34; target=&#34;_blank&#34; title=&#34;ConEmu - Handy Windows Terminal&#34;&gt;ConEmu&lt;/a&gt; から &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; の bash を起動することを考える。
以下のように Tasks 設定で &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; の bash を起動するシーケンスを設定すればよい。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/22388493089/&#34;&gt;&lt;img src=&#34;https://photo.baldanders.info/flickr/image/22388493089_m.png&#34; srcset=&#34;https://photo.baldanders.info/flickr/image/22388493089_m.png 500w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;ConEmu Setting&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;https://photo.baldanders.info/flickr/22388493089/&#34;&gt;ConEmu Setting&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;起動シーケンスは以下のとおり。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set MSYSTEM=MSYS &amp;amp; chcp 65001 &amp;amp; C:\msys64\usr\bin\bash.exe --login -i -new_console:C:&amp;#34;C:\msys64\msys2.ico&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;前半で環境変数とコードページ（65001 は UTF-8）を設定し，後半で実際に bash を呼び出している。&lt;/p&gt;
&lt;h2&gt;初期設定&lt;/h2&gt;
&lt;p&gt;では本題に戻ろう。
&lt;code&gt;msys2.exe&lt;/code&gt; または環境変数 &lt;code&gt;MSYSTEM&lt;/code&gt; に &lt;code&gt;MSYS&lt;/code&gt; をセットして shell を起動し，まずはコア・パッケージを最新のものに更新する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pacman -Syu
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:: パッケージデータベースの同期中...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; mingw32                                              232.6 KiB   720K/s 00:00 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; mingw32.sig                                           96.0   B  93.8K/s 00:00 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; mingw64                                              231.6 KiB   740K/s 00:00 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; mingw64.sig                                           96.0   B  0.00B/s 00:00 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; msys                                                 130.7 KiB   165K/s 00:01 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; msys.sig                                              96.0   B  93.8K/s 00:00 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; Checking if there are critical packages to upgrade.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pacman 5.0.0.6348.cc5a8f1-1 -&amp;gt; 5.0.1.6388.dcb2397-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; Core packages require updating.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; Please close all other MSYS2 derived windows (e.g. terminal
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; windows, Bash sessions, etc) before proceeding.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; 警告: When the update has completed, you MUST close this MSYS2 window
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; 警告: (use Alt-F4 or red [ X ], etc.), rather than &amp;#39;exit&amp;#39;!!!
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Press [Enter] key when ready to start update...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; Updating core packages...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;警告: bash-4.3.042-4 は最新です -- スキップ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;警告: msys2-runtime-2.4.1.16860.40c26fc-1 は最新です -- スキップ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;依存関係を解決しています...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;衝突するパッケージがないか確認しています...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;パッケージ (2) msys2-runtime-devel-2.4.1.16860.40c26fc-1  pacman-5.0.1.6388.dcb2397-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;合計ダウンロード容量:  10.34 MiB
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;合計インストール容量:  54.72 MiB
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;最終的なアップグレード容量:  21.12 MiB
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:: インストールを行いますか？ [Y/n]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:: パッケージを取得します ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; pacman-5.0.1.6388.dcb2397-1-x86_64                     6.8 MiB  1248K/s 00:06 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; msys2-runtime-devel-2.4.1.16860.40c26fc-1-x86_64       3.5 MiB  1027K/s 00:04 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(2/2) キーリングのキーを確認                                                   [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(2/2) パッケージの整合性をチェック                                             [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(2/2) パッケージファイルのロード                                               [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(2/2) ファイルの衝突をチェック                                                 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(2/2) 空き容量を確認                                                           [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:: パッケージの変更を処理しています...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(1/2) 更新 pacman                                                              [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(2/2) インストール msys2-runtime-devel                                         [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Please close this window.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;おや。
ツールが更新された。
&lt;code&gt;pacman -Syu&lt;/code&gt; で更新があった場合，いったん shell を閉じて起動し直す。
このとき &lt;code&gt;exit&lt;/code&gt; コマンドで終了するのではなく，強制終了する。&lt;/p&gt;
&lt;p&gt;Shell を再起動したら他のインストール済みのパッケージを更新しよう。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pacman -Su
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:: システム全体の更新を開始...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;依存関係を解決しています...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;衝突するパッケージがないか確認しています...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;パッケージ (7) curl-7.47.1-1  file-5.25-1  gnupg-1.4.20-1  libcurl-7.47.1-1  libopenssl-1.0.2.f-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;               mintty-1~2.2.3-1  openssl-1.0.2.f-1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;合計ダウンロード容量:   4.40 MiB
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;合計インストール容量:  20.60 MiB
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;最終的なアップグレード容量:   0.12 MiB
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:: インストールを行いますか？ [Y/n] y
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:: パッケージを取得します...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; libopenssl-1.0.2.f-1-x86_64                          815.3 KiB   796K/s 00:01 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; openssl-1.0.2.f-1-x86_64                            1336.9 KiB   977K/s 00:01 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; libcurl-7.47.1-1-x86_64                              185.0 KiB   269K/s 00:01 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; curl-7.47.1-1-x86_64                                 595.3 KiB   855K/s 00:01 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; file-5.25-1-x86_64                                   396.5 KiB   767K/s 00:01 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; gnupg-1.4.20-1-x86_64                               1026.9 KiB   672K/s 00:02 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; mintty-1~2.2.3-1-x86_64                              147.2 KiB   436K/s 00:00 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(7/7) キーリングのキーを確認                                                   [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(7/7) パッケージの整合性をチェック                                             [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(7/7) パッケージファイルのロード                                               [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(7/7) ファイルの衝突をチェック                                                 [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(7/7) 空き容量を確認                                                           [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:: パッケージの変更を処理しています...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(1/7) 更新 libopenssl                                                          [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(2/7) 更新 openssl                                                             [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(3/7) 更新 libcurl                                                             [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(4/7) 更新 curl                                                                [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(5/7) 更新 file                                                                [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(6/7) 更新 gnupg                                                               [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: /etc/pacman.d/gnupg/trustdb.gpg: 信用データベースができました
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 究極的に信用する鍵が見つかりません
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: Generating pacman keyring master key...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: skipping control `%no-protection&amp;#39; ()
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.+++++
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+++++
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 鍵CD81616Cを究極的に信用するよう記録しました
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: Done
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; 信用データベースを更新...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 深さ: 0  有効性:   1  署名:   0  信用: 0-, 0q, 0n, 0m, 0f, 1u
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; msys2.gpg からキーを追加...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 深さ: 0  有効性:   1  署名:   0  信用: 0-, 0q, 0n, 0m, 0f, 1u
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; キーリングの信頼されたキーに署名...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; キーに署名 D55E7A6D7CE9BA1587C0ACACF40D263ECA25678A...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; キーに署名 123D4D51A1793859C2BE916BBBE514E53E0D0813...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; キーに署名 B91BCF3303284BF90CC043CA9F418C233E652008...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; キーに署名 9DD0D4217D75A33B896159E6DA7EF2ABAEEA755C...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; 所有者信頼値をインポート...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: setting ownertrust to 4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: setting ownertrust to 4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: setting ownertrust to 4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: inserting ownertrust of 4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;==&amp;gt; 信用データベースを更新...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 深さ: 0  有効性:   1  署名:   4  信用: 0-, 0q, 0n, 0m, 0f, 1u
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 深さ: 1  有効性:   4  署名:   3  信用: 0-, 0q, 0n, 4m, 0f, 0u
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: 深さ: 2  有効性:   3  署名:   0  信用: 3-, 0q, 0n, 0m, 0f, 0u
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(7/7) 更新 mintty                                                              [##################] 100%
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これで初期化は終了。
&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-2/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 による gcc 開発環境の構築 ― gcc パッケージ群の導入&#34;&gt;次回&lt;/a&gt;へ続く。&lt;/p&gt;
&lt;h2&gt;【おまけ1】 ホームディレクトリについて&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; のホームディレクトリは，インストールフォルダ直下の &lt;code&gt;home\username&lt;/code&gt; フォルダになるが， Windows 上で自前のホームディレクトリを作っている場合は，その場所を &lt;code&gt;/etc/fstab&lt;/code&gt; でマウントする手もある。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;C:/home	/home
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この場合，元のフォルダにある &lt;code&gt;.profile&lt;/code&gt; ファイル等の移動も忘れないこと。&lt;/p&gt;
&lt;h2&gt;【おまけ2】 Proxy サーバ越しのアクセス&lt;/h2&gt;
&lt;p&gt;Proxy サーバ越しに curl を使う場合は &lt;code&gt;~/.curlrc&lt;/code&gt; に以下の記述を追加する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proxy-user = &amp;#34;username:password&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proxy = &amp;#34;http://proxy.example.com:8080&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;パッケージ管理コマンドである &lt;code&gt;pacman&lt;/code&gt; を Proxy サーバ越しに使う場合は，上述の通りに curl の設定をしたうえで &lt;code&gt;/etc/pacman.conf&lt;/code&gt; ファイルの以下の記述を探し，コメントを解除する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;#XferCommand = /usr/bin/curl -C - -f %u &amp;gt; %o
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;GnuPG で鍵サーバにアクセスする場合も， Proxy サーバ越しにアクセスするのであれば， &lt;code&gt;~/.gnupg/gpg.conf&lt;/code&gt; に以下のオプションを追記する。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-text:gpg.conf&#34; data-lang=&#34;text:gpg.conf&#34;&gt;keyserver-options http-proxy=http://username:password@proxy.example.com:8080/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;実は &lt;code&gt;/etc/pacman.d/gnupg&lt;/code&gt; ディレクトリにも &lt;code&gt;gpg.conf&lt;/code&gt; ファイルがあって &lt;code&gt;pacman-key&lt;/code&gt; コマンドはこちらを見てるっぽい&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pacman-key -l
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/etc/pacman.d/gnupg/pubring.gpg
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pub   2048R/CD81616C 2016-03-01
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uid                  Pacman Keyring Master Key &amp;lt;pacman@localhost&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pub   2048R/CA25678A 2014-09-28
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uid                  Alexey Pavlov (Alexpux) &amp;lt;alexey.pawlow@gmail.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sub   2048R/2BBF340E 2014-09-28
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pub   4096R/AEEA755C 2014-10-04
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uid                  Martell Malone (martell) &amp;lt;martellmalone@gmail.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sub   4096R/2A292C03 2014-10-04
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pub   4096R/3E0D0813 2014-09-28
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uid                  Ray Donnelly (MSYS2 Developer - master key) &amp;lt;mingw.android@gmail.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sub   4096R/8603AA9D 2014-09-28
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pub   2048R/3E652008 2014-09-29
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uid                  Ignacio Casal Quinteiro &amp;lt;icquinteiro@gmail.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sub   2048R/64D62A76 2014-09-29
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pub   2048D/A47D45A1 2013-11-11
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uid                  Alexey Pavlov (Alexpux) &amp;lt;alexpux@gmail.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sub   2048g/31CF7700 2013-11-11
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pub   4096R/2C51581E 2015-07-22
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uid                  Martell Malone (MSYS2 Developer) &amp;lt;martellmalone@gmail.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sub   4096R/282D6707 2015-07-22
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pub   4096R/4CA56930 2014-09-28
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uid                  Ray Donnelly (MSYS2 Developer) &amp;lt;mingw.android@gmail.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sub   4096R/576CF231 2014-09-28
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;もしかしたらこちらの &lt;code&gt;gpg.conf&lt;/code&gt; ファイルも修正する必要があるかもしれない（未確認）。&lt;/p&gt;
&lt;h2&gt;関連するブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://qiita.com/Ted-HM/items/4f2feb9fdacb6c72083c&#34; target=&#34;_blank&#34;&gt;MSYS2で快適なターミナル生活 - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;この記事では今まで &lt;a href=&#34;http://tdm-gcc.tdragon.net/&#34; target=&#34;_blank&#34; title=&#34;TDM-GCC&#34;&gt;TDM-GCC&lt;/a&gt; を勧めてきたが，どうも何年もメンテナンスされていないようだ。したがって今後は &lt;a href=&#34;http://mingw-w64.org/&#34; target=&#34;_blank&#34; title=&#34;Mingw-w64 - GCC for Windows 64 &amp;amp; 32 bits [mingw-w64]&#34;&gt;MinGW-w64&lt;/a&gt; を推すことにする。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;&lt;a href=&#34;http://git-for-windows.github.io/&#34; target=&#34;_blank&#34; title=&#34;Git for Windows&#34;&gt;Git for Windows&lt;/a&gt; には bash などの &lt;a href=&#34;http://msys2.github.io/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 installer&#34;&gt;MSYS2&lt;/a&gt; サブセットを含んでいるため， &lt;a href=&#34;http://git-for-windows.github.io/&#34; target=&#34;_blank&#34; title=&#34;Git for Windows&#34;&gt;Git for Windows&lt;/a&gt; の bash （通称 git bash）を起動することで UNIX 互換の動作環境を得られる。なお &lt;a href=&#34;http://git-for-windows.github.io/&#34; target=&#34;_blank&#34; title=&#34;Git for Windows&#34;&gt;Git for Windows&lt;/a&gt; の環境は git を動かすための最小限のツールしか入っていないため， Git for Windows SDK も併せて導入し，その中の pacman コマンドで必要に応じてのツールを追加する。 pacman については&lt;a href=&#34;https://text.baldanders.info/remark/2016/03/gcc-msys2-2/&#34; target=&#34;_blank&#34; title=&#34;MSYS2 による gcc 開発環境の構築 ― gcc パッケージ群の導入&#34;&gt;次回&lt;/a&gt;説明する。&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;ちなみに &lt;code&gt;/etc/pacman.d/gnupg&lt;/code&gt; ディレクトリにある鍵束を GnuPG から直接見る場合には &lt;code&gt;gpg --homedir /etc/pacman.d/gnupg --list-keys&lt;/code&gt; とする。&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry>
</feed>
