Usage TOP Developer

ビルド

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

1.ビルド環境の構築

K2HDKCは主にFULLOCKK2HASHCHMPXに依存します。 それぞれの依存ライブラリとヘッダファイルはK2HDKCを構築するために必要です。 それらをインストールする方法は2つあります。 好きなものを選ぶことができます。

1.1. GitHubから各依存ライブラリとヘッダファイルをインストールする

詳細については以下の文書を読んでください。

1.2. packagecloud.ioから各依存ライブラリとヘッダファイルをインストールします。

このセクションでは、packagecloud.ioから各依存ライブラリとヘッダーファイルをインストールする方法を説明します。

注:前のセクションでGitHubから各依存ライブラリとヘッダーファイルをインストールした場合は、このセクションを読み飛ばしてください。

最近のDebianベースLinuxの利用者は、以下の手順に従ってください。

$ 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 k2hash-dev chmpx-dev -y
$ sudo apt-get install git -y

Fedoraの利用者は、以下の手順に従ってください。

$ 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 k2hash-devel chmpx-devel -y
$ sudo dnf install git -y

その他最近のRPMベースのLinuxの場合は、以下の手順に従ってください。

$ 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 k2hash-devel chmpx-devel -y
$ sudo yum install git -y

2. GitHubからソースコードを複製する

GitHubからK2HDKCのソースコードをダウンロードしてください。

$ git clone https://github.com/yahoojapan/k2hdkc.git

3. ビルドしてインストールする

以下のステップに従ってK2HDKCをビルドしてインストールしてください。 K2HDKCを構築するためにGNU Automakeを使います。

$ cd k2hdkc
$ sh autogen.sh
$ ./configure --prefix=/usr
$ make
$ sudo make install

K2HDKCを正常にインストールすると、k2hdkcのヘルプテキストが表示されます。

$ k2hdkc -h
[Usage]
k2hdkc [-conf <file path> | -json <json string>] [-ctlport <port>] [-cuk <cuk>] [-comlog] [-no_giveup_rejoin] [-d [silent|err|wan|msg|dump]] [-dfile <file path>]
k2hdkc [ -h | -v ]
[option]
  -conf <path>         specify the configuration file(.ini .yaml .json) path
  -json <string>       specify the configuration json string
  -ctlport <port>      specify the self control port(*)
  -cuk <cuk string>    specify the self CUK(*)
  -no_giveup_rejoin    not give up rejoining chmpx
  -comlog              enable logging communication command
  -d <param>           specify the debugging output mode:
                        silent - no output
                        err    - output error level
                        wan    - output warning level
                        msg    - output debug(message) level
                        dump   - output communication debug level
  -dfile <path>        specify the file path which is put output
  -h(help)             display this usage.
  -v(version)          display version.

[environment]
  K2HDKCCONFFILE       specify the configuration file(.ini .yaml .json) path
  K2HDKCJSONCONF       specify the configuration json string

(*) you can use environment DKCDBGMODE and DKCDBGFILE instead of -d/-dfile options.
(*) if ctlport and cuk option is specified, chmpx searches same ctlport/cuk
    in configuration file and ignores "CTLPORT" or "CUK" directive in
    "GLOBAL" section. and chmpx will start in the mode indicated by the
    server entry that has been detected.
Usage TOP Developer