ビルド
この章は3つの部分から構成されています。
- ローカル開発用にK2HASHを設定する方法
- ソースコードからK2HASHを構築する方法
- K2HASHのインストール方法
1. ビルド環境の構築
K2HASHは主に、FULLOCKに依存します。依存ライブラリとヘッダファイルはK2HASHをビルドするために必要です。依存ライブラリとヘッダファイルをインストールする方法は2つあります。好きなものを選ぶことができます。
- GitHubから依存ファイルをインストール
依存ライブラリのソースコードとヘッダファイルをインストールします。あなたは依存ライブラリとヘッダファイルをビルドしてインストールします。 - packagecloud.ioを使用する
依存ライブラリのパッケージとヘッダファイルをインストールします。あなたは依存ライブラリとヘッダファイルをインストールするだけです。ライブラリはすでに構築されています。
1.1. GitHubから各依存ライブラリとヘッダファイルをインストール
詳細については以下の文書を読んでください。
1.2. packagecloud.ioから各依存ライブラリとヘッダファイルをインストール
このセクションでは、packagecloud.io - AntPickax stable repositoryから各依存ライブラリとヘッダーファイルをインストールする方法を説明します。
注:前のセクションでGitHubから依存ライブラリとヘッダーファイルをインストールした場合は、このセクションを読み飛ばしてください。
K2HASHをビルドするときには、ひとつのSSL/TLSライブラリーを選択します。K2HASHがサポートしているSSL/TLSライブラリとヘッダファイルのパッケージ名は次のようになっています。
SSL/TLS library | pkg |
---|---|
OpenSSL | libssl-dev(deb) / openssl-devel(rpm) |
GnuTLS (gcrypt) | libgcrypt11-dev(deb) |
GnuTLS (nettle) | nettle-dev(deb) |
Mozilla NSS | nss-devel(rpm) |
最近のDebianベースLinuxの利用者は、以下の手順に従ってください。SSL/TLSライブラリとヘッダファイルのパッケージ名(libgcrypt11-dev)は、あなたアプリケーションが要求するSSL/TLSライブラリとヘッダファイルのパッケージ名と置き換えても良いです。
$ sudo apt-get update -y
$ sudo apt-get install curl -y
$ curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.deb.sh \
| sudo bash
$ sudo apt-get install autoconf autotools-dev gcc g++ make gdb libtool pkg-config \
libyaml-dev libfullock-dev libgcrypt11-dev -y
$ sudo apt-get install git -y
Fedoraの利用者は、以下の手順に従ってください。SSL/TLSライブラリとヘッダファイルのパッケージ名(nss-devel)は、あなたアプリケーションが要求するSSL/TLSライブラリとヘッダファイルのパッケージ名と置き換えても良いです。
$ sudo dnf makecache
$ sudo dnf install curl -y
$ curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.rpm.sh \
| sudo bash
$ sudo dnf install autoconf automake gcc gcc-c++ gdb make libtool pkgconfig \
libyaml-devel libfullock-devel nss-devel -y
$ sudo dnf install git -y
その他最近のRPMベースのLinuxの場合は、以下の手順に従ってください。SSL/TLSライブラリとヘッダファイルのパッケージ名(nss-devel)は、あなたアプリケーションが要求するSSL/TLSライブラリとヘッダファイルのパッケージ名と置き換えても良いです。
$ sudo yum makecache
$ sudo yum install curl -y
$ curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.rpm.sh \
| sudo bash
$ sudo yum install autoconf automake gcc gcc-c++ gdb make libtool pkgconfig \
libyaml-devel libfullock-devel nss-devel -y
$ sudo yum install git -y
2. GitHubからソースコードを複製
GitHubからK2HASHのソースコードをダウンロードしてください。
$ git clone https://github.com/yahoojapan/k2hash.git
3. ビルド・インストール
以下の手順に従ってK2HASHをビルドしてインストールしてください。 GNU Automakeを使ってK2HASHを構築します。
K2HASHは、1つのSSL/TLSライブラリが必要であることを考慮する必要があります。K2HASHのビルドオプションは、これを使うCHMPXのビルドオプションに影響を与えます。 表1は、可能な構成オプションを示しています。
表1. 可能な構成オプション:
SSL/TLS library | K2HASH configure options | CHMPX configure options |
---|---|---|
OpenSSL | ./configure --prefix=/usr --with-openssl | ./configure --prefix=/usr --with-openssl |
GnuTLS (gcrypt) | ./configure --prefix=/usr --with-gcrypt | ./configure --prefix=/usr --with-gnutls |
GnuTLS (nettle) | ./configure --prefix=/usr --with-nettle | ./configure --prefix=/usr --with-gnutls |
Mozilla NSS | ./configure --prefix=/usr --with-nss | ./configure --prefix=/usr --with-nss |
最近のDebianベースLinuxの利用者は、以下の手順に従ってください。
$ cd k2hash
$ sh autogen.sh
$ ./configure --prefix=/usr --with-gcrypt
$ make
$ sudo make install
その他最近のRPMベースのLinuxの場合は、以下の手順に従ってください。
$ cd k2hash
$ sh autogen.sh
$ ./configure --prefix=/usr --with-nss
$ make
$ sudo make install
K2HASHを正常にインストールすると、k2himportのヘルプテキストが表示されます。
$ k2himport -h
usage:
k2himport inputfile outputfile [-mdbm]
k2himport -h