ついに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