Usage TOP Developer

ビルド

この章は3つの部分から構成されています。

1. ビルド環境の構築

K2HASHは主に、FULLOCKに依存します。依存ライブラリとヘッダファイルはK2HASHをビルドするために必要です。依存ライブラリとヘッダファイルをインストールする方法は2つあります。好きなものを選ぶことができます。

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)

DebianStretchまたはUbuntu(Bionic Beaver)をお使いの場合は、以下の手順に従ってください。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

Fedora28またはCentOS7.x(6.x)ユーザーの場合は、以下の手順に従ってください。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

DebianStretchまたはUbuntu(Bionic Beaver)をお使いの場合は、以下の手順に従ってください。

$ cd k2hash
$ sh autogen.sh
$ ./configure --prefix=/usr --with-gcrypt
$ make
$ sudo make install

Fedora28またはCentOS7.x(6.x)ユーザーの場合は、以下の手順に従ってください。

$ 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

Usage TOP Developer