GnuTLSをインストールする前に、Nettleをインストールします。
NettleのインストールにはGMPが必要なので、先にインストールしておいてください。
GMPのコンパイル&インストール1. NettleのインストールNettle - a low-level cryptographic library
http://www.lysator.liu.se/~nisse/nettle/このページの、
DownloadGet the latest version by https or ftp. Recent releases are signed with the following PGP key:
のhttpsのリンクから、以下のページに行きます。
https://ftp.gnu.org/gnu/nettle/より、
nettle-3.3.tar.gz
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf nettle-3.3.tar.gz
$ cd nettle-3.3
$ ./configure --prefix=/mingw --disable-shared --disable-openssl
$ make
$ make install
2. GnuTLSのインストールThe GNU Transport Layer Security Library
http://gnutls.org/赤いバーのメニューのDownloadから、ダウンロードページに行きます。
http://gnutls.org/download.htmlDownloading the GnuTLS libraryのCurrent stableから、v3.5ディレクトリを開きます。
ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/
ここから、
gnutls-3.5.10.tar.xz
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xJf gnutls-3.5.10.tar.xz
$ cd gnutls-3.5.10
$ ./configure --prefix=/mingw --disable-shared --disable-nls --disable-cxx --disable-doc --disable-gtk-doc-html --with-included-libtasn1 --with-included-unistring --without-p11-kit
$ sed -i.orig -e "/Libs.private:/s/$/ -lcrypt32/" lib/gnutls.pc
$ make
$ make install
以上で終了です。
【補足】
拡張子が.xzのファイルは、GNU tar 1.22以降で解凍できます。
GNU tar 1.22以降をインストールするか、または、7-ZipなどのGUIツールで解答してください。
ffmpegなどでgnutlsをリンクするとエラーになることがあるため、configureの後、pkg-config用のファイル「lib/gnutls.pc」の「Libs.private:」項目に、
-lcrypt32
を追加するようにしました。
【更新履歴】を見る
2015/09/26 追記
GnuTLSの最新版は、gnutls-3.4.5です。
gnutls-3.4.4 を gnutls-3.4.5 に修正しました。
2015/09/26 追記
gnutls-3.4.5 で以下の不具合は修正されましたので、削除しました。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ここで、srcディレクトリにある *.h.bak と *.c.bak ファイルを、sedで修正します。
参考にしたのは、こちらの記事です。
http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/8271
修正するファイルは読み取り専用になっているのですが、そのままsedを実行したら、再起動してもセーフモードでも削除できないファイルになってしまいました。
いろいろ試した結果、Unlockerというフリーソフトで削除できました。
後で削除したいときに面倒なため、sedの前にchmodで書き込み可にしておきます。
$ chmod u+w src/*.bak
$ find src/ -name '*.h.bak' -print | xargs sed -i -e "s/AO_TEMPLATE_VERSION 167937/AO_TEMPLATE_VERSION 167936/"
$ find src/ -name '*.c.bak' -print | xargs sed -i -e "s/VOIDP(rng)/(VOIDP)rng/" -e "s/VOIDP/void \*/"
修正後、
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
2016/02/19 追記
Nettleの最新版は、nettle-3.2です。
nettle-3.1.1 を nettle-3.2 に修正しました。
GnuTLSの最新版は、gnutls-3.4.9です。
gnutls-3.4.5 を gnutls-3.4.9 に修正しました。
2016/03/21 追記
GnuTLSの最新版は、gnutls-3.4.10です。
gnutls-3.4.9 を gnutls-3.4.10 に修正しました。
2016/04/16 追記
GnuTLSの最新版は、gnutls-3.4.11です。
gnutls-3.4.10 を gnutls-3.4.11 に修正しました。
2016/05/26 追記
GnuTLSの最新版は、gnutls-3.4.12です。
gnutls-3.4.11 を gnutls-3.4.12 に修正しました。
2016/06/13 追記
GnuTLSの最新版は、gnutls-3.4.13です。
gnutls-3.4.12 を gnutls-3.4.13 に修正しました。
2016/06/13 追記
configureオプションの「--disable-openssl-compatibility」はデフォルトなので、削除しました。
$ ./configure --prefix=/mingw --disable-shared --disable-cxx --disable-openssl-compatibility --disable-doc --disable-gtk-doc-html --with-included-libtasn1 --without-p11-kit
$ ./configure --prefix=/mingw --disable-shared --disable-cxx --disable-doc --disable-gtk-doc-html --with-included-libtasn1 --without-p11-kit
2016/09/29 追記
GnuTLSの最新版は、gnutls-3.4.15です。
gnutls-3.4.13 を gnutls-3.4.15 に修正しました。
2016/10/20 追記
GnuTLSの最新版は、gnutls-3.4.16です。
gnutls-3.4.15 を gnutls-3.4.16 に修正しました。
2016/10/20 追記
Nettleの最新版は、nettle-3.3です。
nettle-3.2 を nettle-3.3 に修正しました。
2017/01/06 追記
GnuTLSの最新版は、gnutls-3.4.17です。
gnutls-3.4.16 を gnutls-3.4.17 に修正しました。
2017/01/15 追記
GnuTLS 3.5.x系がcurrent stable branchになりました。
gnutls-3.4.17 を gnutls-3.5.8 に修正しました。
説明を修正しました。
Downloading the GnuTLS libraryのstable-nextから、v3.4ディレクトリを開きます。
ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/
Downloading the GnuTLS libraryのCurrent stableから、v3.5ディレクトリを開きます。
ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/
2017/01/15 追記
configureオプションに「--disable-nls」「--with-included-unistring」を追加しました。
$ ./configure --prefix=/mingw --disable-shared --disable-cxx --disable-doc --disable-gtk-doc-html --with-included-libtasn1 --without-p11-kit
$ ./configure --prefix=/mingw --disable-shared --disable-nls --disable-cxx --disable-doc --disable-gtk-doc-html --with-included-libtasn1 --with-included-unistring --without-p11-kit
2017/03/22 追記
GnuTLSの最新版は、gnutls-3.5.10です。
gnutls-3.5.8 を gnutls-3.5.10 に修正しました。
【更新履歴】を閉じる
GnuTLSのconfigureオプション"--disable-openssl-compatibility"ですが、デフォルトはdisableのようです。
以上、情報まで…。