ついにKyoto Cabinet/Kyoto Tycoon試してみた

FreeBSDにKyoto Cabinetをインストールします.

> wget http://www.1978th.net/kyotocabinet/pkg/kyotocabinet-1.2.18.tar.gz
> tar xvf kyotocabinet-1.2.18.tar.gz
> cd kyotocabinet-1.2.18
> ./configure
> make
g++ -c -I. -I/usr/local/include -I/home/tetu-s/include -I/usr/local/include -DNDEBUG -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D__EXTENSIONS__ -D_MYZLIB -D_MYGCCATOMIC  -D_KC_PREFIX="\"/usr/local\"" -D_KC_INCLUDEDIR="\"/usr/local/include\""  -D_KC_LIBDIR="\"/usr/local/lib\"" -D_KC_BINDIR="\"/usr/local/bin\"" -D_KC_LIBEXECDIR="\"/usr/local/libexec\""  -D_KC_APPINC="\"-I/usr/local/include\"" -D_KC_APPLIBS="\"-L/usr/local/lib -lkyotocabinet -lz -lstdc++ -lrt -lpthread -lm -lc \"" -g -O2 -Wall -fPIC -fsigned-char -O2 kcutiltest.cc
LD_RUN_PATH=/lib:/usr/lib:/usr/local/lib:/home/tetu-s/lib:/usr/local/lib:/usr/local/lib g++ -g -O2 -Wall -fPIC -fsigned-char -O2 -o kcutiltest  -L. -L/usr/local/lib -L/home/tetu-s/lib -L/usr/local/lib  -lkyotocabinet -lz -lstdc++ -lrt -lpthread -lm -lc
/usr/lib/crt1.o(.text+0x85): In function `_start':
: undefined reference to `main'
./libkyotocabinet.so: undefined reference to `__sync_bool_compare_and_swap_4'
./libkyotocabinet.so: undefined reference to `__sync_bool_compare_and_swap_8'
./libkyotocabinet.so: undefined reference to `__sync_lock_test_and_set_8'
./libkyotocabinet.so: undefined reference to `__sync_fetch_and_add_8'
*** Error code 1

おっと.この手のエラーはFreeBSD用になっていないのが原因で,次のようにコンパイルするのが正解.

> setenv CPPFLAGS "-march=i686"
> ./configure
> gmake
> su
# make install

次,Kyoto Tycoon行きます.こちらはCPPFLAGSの設定もいらず.

> wget http://www.1978th.net/kyototycoon/pkg/kyototycoon-0.9.3.tar.gz
> tar xvf kyototycoon-0.9.3.tar.gz
> cd kyototycoon-0.9.3
> ./configure
> gmake
> su
# make install

done.

ここ数週間の日記を読んでいて,急激に興味が湧いた今日この頃です.
http://fallabs.com/mikio/tech/promenade.cgi