vagrant
KyotoTycoon

CentOS 7 に Kyoto Tycoon を入れて遊ぶ。

More than 3 years have passed since last update.

Kyoto Tycoonインストールの備忘。


VMの準備


  • Vagrant box の初期化

vagrant init chef/centos-7.0


  • private network の有効化

こことだいたい同じ。(最後の「ホストPCからの接続確認」で指定しているが、IPは192.168.33.12にした。)

VM起動してログインし、以下はVM上での操作。


Kyoto Cabinet のインストール


  • 依存ライブラリのインストール

> sudo yum install zlib-devel

> sudo yum install gcc gcc-c++


  • Kyoto Cabinet ダウンロード・インストール

> wget http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz

> tar zxf kyotocabinet-1.2.76.tar.gz
> ./configure
> make
> sudo make install


Kyoto Tycoon のインストール

> wget http://fallabs.com/kyototycoon/pkg/kyototycoon-0.9.56.tar.gz

> tar zxf kyototycoon-0.9.56.tar.gz
> cd kyototycoon-0.9.56
> ./configure
> make

ktdbext.h:274:29: エラー: ‘getpid’ was not declared in this scope
uint32_t pid = getpid() & kc::UINT16MAX;
^
ktdbext.h:274:29: 備考: suggested alternative:
In file included from ./ktcommon.h:20:0,
from ktdbext.h:19,
from ktdbext.cc:16:
/usr/local/include/kcutil.h:879:9: 備考: ‘kyotocabinet::getpid’
int64_t getpid();
^
make: *** [ktdbext.o] エラー 1

いくつか警告が出つつも進んでいたが、エラーが出てしまった。

どうも ktdbext.h を手で編集する必要があるようだ。

(しかし、これ Travis CI 上でテスト用のKyoto Tycoonを準備する際には不要だった。

実行環境に関係しているのかな?)

> vi ktdbext.h

(`#include <unistd.h>` を追加)

> make
> sudo make install


  • 起動

> sudo lab/ktservctl start


  • ホストPCから接続確認

> curl -LI http://192.168.33.11:1978/rpc/void -o /dev/null -w '%{http_code}\n' -s

200

よさそう。 :thumbsup: