#+HTML_LINK_HOME: index.html
#+XSLT:
-#+BEGIN_HTML
-<script type="text/javascript"><!--
-google_ad_client = "ca-pub-6327257212970697";
-/* GNU Privacy Guard講座Banner */
-google_ad_slot = "2155169100";
-google_ad_width = 970;
-google_ad_height = 90;
-//-->
-</script>
-<script type="text/javascript"
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
-</script>
-#+END_HTML
-
GnuPG 2のコンパイルはGnuPG 1.x系列に比べると依存が多く、より複雑なプロセスを要します。
ここではコンパイル方法をまとめました。
+尚、以下の手順を半自動的に実行する [[https://github.com/hsaito/gnupg-buildkit][gnupg-buildkit]] を公開しています。こちらを使用することにより、GnuPG 2.1を入手し、コンパイルするのをほぼ自動化できます。尚、こちらの使用にはGnuPG (1.x系列でも構いません)が入っていることが前提になっています。
+
+
特にLinuxのリモート環境(ホスティングサーバ)などにインストールする際に役に立つと思います。Windowsでのコンパイルについては本項では言及しません。
尚、ホスティングサーバに置かれている秘密鍵など、ローカル管理に比べて比較的安全性が劣りますので留意しておいてください。
* 必要なソースコード
+ :PROPERTIES:
+ :ID: 8611de63-d810-40fe-a242-0d46b419046a
+ :END:
- GnuPG 2
- libgcrypt
- libksba
PinentryもGnuPGのFTPサーバにあるのですが、上記のダウンロードページからリンクされていません。当該ディレクトリから最新版をダウンロードしてください。
GPGME、Entropy Gathering Daemonは通常は必要ありませんが環境、使用法によっては導入する必要があるかもしれません。(Entropy Gathering Daemonは/dev/randomが存在しない環境で必要です。)
+GnuPG Modern (2.1.x系)の場合、DirMngrは組み込み済みであるため、別途入手、コンパイルする必要はありません。
+
* コンパイルの順番
+ :PROPERTIES:
+ :ID: 2b2cf9cf-11e4-4ad6-b3ef-8ba1f2347b65
+ :END:
コンパイルは依存の関係上、次の順番で行う必要があります。
厳密にはいくつかのものは順番が入れ替わっても問題ありませんが、大方、上記のような順番で行う必要があります。
コンパイル自体は一般的なconfigure ; make ; make installとなりますが、特に依存関係のエラーを見落とさないようにしてください。
尚、特にホスティングサイトなどで特別なプレフィックスを使用している場合はbinディレクトリにパスが通っており、LD_LIBRARY_PATHがlibディレクトリに通っていることを確認してください。configureにprefixが通っていてもgnupg2のコンパイル時に失敗します。
+
+#+BEGIN_HTML
+<script type="text/javascript"><!--
+google_ad_client = "ca-pub-6327257212970697";
+/* GNU Privacy Guard講座Banner */
+google_ad_slot = "2155169100";
+google_ad_width = 970;
+google_ad_height = 90;
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+#+END_HTML
+* 注意点など
+ :PROPERTIES:
+ :ID: 419ffeea-c1e3-4e34-b44b-164c8257a959
+ :END:
+** dirmngrでリンキングに失敗する場合
+ :PROPERTIES:
+ :ID: 3909adac-4011-4f80-9bc0-72b238daebab
+ :END:
+ber_freeのシンボルで問題が出る場合、configureの際にLIBS=-llberを通すことで解決します。