CentOS 5.6 に KyotoTycoon をRPMからインストール

yum install rpm-build

wget –no-check-certificate https://github.com/kyohsuke/srpms/tarball/master
tar xfvz kyohsuke-srpms-c4e4fb1.tar.gz

cd kyohsuke-srpms-c4e4fb1

rpm -ivh kyototycoon-0.9.42-1.src.rpm
rpm -ivh kyotocabinet-1.2.58-1.src.rpm

cd /usr/src/redhat/SPECS

#yum remove gcc
yum install pkgconfig zlib-devel
yum install gcc44 gcc44-c++ boost-devel
yum install kernel-devel

ln -s /usr/bin/gcc44 /usr/bin/gcc
ln -s /usr/bin/g++44 /usr/bin/g++

rpmbuild -ba kyotocabinet.spec
rpm -ivh ../RPMS/x86_64/kyotocabinet-*
rpmbuild -ba kyototycoon.spec
rpm -ivh ../RPMS/x86_64/kyototycoon-*

vi /etc/init.d/ktservctl

#cmd=”ktserver”
cmd=”ktserver -plsv /usr/libexec/ktplugservmemc.so”

# optsはプラグインのオプションなのでこっちに設定しないと意味が無い…
cmd=”ktserver -plsv /usr/libexec/ktplugservmemc.so -plex opts=f”

#logfile=”$basedir/log”
logfile=”/var/log/ktserver”

#dbname=”$basedir/casket.kch#bnum=2000000#msiz=128m#dfunit=8″
dbname=” *#bnum=2000#capsiz=128m#opts=f”
dbname=” *#bnum=2000#capsiz=128m”

-plsv /usr/libexec/ktplugservmemc.so”
opts flags対応オプション

は、memcached互換で動かしたかったので。
* LRUにしたかったので、キャッシュDBを使用する。
bnum 2000バケット
capsiz メモリサイズ上限

参考
こなふぃ: Kyoto Cabint 1.2.50 と Kyoto Tycoon 0.9.38 の srpm
おっぱいミサイル(kyoto tycoonタグ)

途中で出たエラー
error trying to exec ‘cc1plus’: execvp: No such file or directory
C++ preprocessor “/lib/cpp” fails sanity check
シンボリックリンク張ってごまかした(手順途中にあるgcc44,g++44へのシンボリックリンク)
そこまでする理由は、このバージョンのgccが必要だから。

上記理由により、古いgccがあるとエラー出たりするので、最初にyum remove gcc


Leave a comment

Your comment

*