LoginSignup
6
5

More than 5 years have passed since last update.

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

Posted at

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:

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5