Usage TOP Developer

ビルド

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

1. ビルド環境の構築

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

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

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

: 後段で説明していますが、CHMPXも1つのSSL/TLSライブラリが必要であることを考慮する必要があります。これは、K2HASH Buildのビルドオプションが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

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

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

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

:前のセクションで説明したように、K2HASH BuildのビルドオプションはCHMPXビルドオプションに影響します。 前のセクションの表1を参照してください。

最近の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 gnutls-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 nss-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 nss-devel -y
$ sudo yum install git -y

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

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

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

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

以下の手順に従ってCHMPXをビルドしてインストールしてください。 GNU Automakeを使ってCHMPXを構築します。

DebianベースLinuxの場合は、以下の手順に従ってください。

$ cd chmpx
$ sh autogen.sh
$ ./configure --prefix=/usr --with-gnutls
$ make
$ sudo make install

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

$ cd chmpx
$ sh autogen.sh
$ ./configure --prefix=/usr --with-nss
$ make
$ sudo make install

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

$ chmpx -h
[Usage]
chmpx [-conf <file> | -json <json>] [-ctlport <port>] [-d [silent|err|wan|msg|dump]] [-dfile <debug file path>]
chmpx [ -h | -v ]

[option]
  -conf <path>         specify the configuration file(.ini .yaml .json) path
  -json <json string>  specify the configuration json string
  -ctlport <port>      specify the self control port(*)
  -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 debug output
  -h(help)             display this usage.
  -v(version)          display version.

[environments]
  CHMDBGMODE           debugging mode like "-d" option.
  CHMDBGFILE           the file path for debugging output like "-dfile" option.
  CHMCONFFILE          configuration file path like "-conf" option
  CHMJSONCONF          configuration json string like "-json" option

(*) if ctlport option is specified, chmpx searches same ctlport in configuration
    file and ignores "CTLPORT" directive in "GLOBAL" section. and chmpx will
    start in the mode indicated by the server entry that has been detected.
Usage TOP Developer