Lux IO Ruby bindingをインストールしてみた

Lux IO - Yet Another Fast Database Managerにある luxio-0.1.0.tar.gz を取ってきてインストール。
http://d.hatena.ne.jp/kajidai/20081108/1226110366にあるRuby bindingをインストール。

require 'luxio'
luxio = LuxIOBtree.new
luxio.open '/tmp/test', LuxIOBtree::LUX_DB_CREAT
luxio.put 'key', 'value'        # => true
luxio.get 'value'               # => nil

あれー、うまく動かないぞ?どこがおかしいのだろうか。

-rw-r--r-- 1 rubikitch users 409600 2008-11-09 03:09 /tmp/test.bidx

データベースは作成されているようだけど。それにしても馬鹿でかい。

Ruby 1.9にはまだ対応していないようだ。

$ ruby19 extconf.rb && make
creating Makefile
g++ -I. -I/pkgs/ruby19/include/ruby19-1.9.0/i686-linux -I/pkgs/ruby19/include/ruby19-1.9.0/ruby/backward -I/pkgs/ruby19/include/ruby19-1.9.0 -I. -D_FILE_OFFSET_BITS=64  -fPIC -O2 -march=pentium4  -O2 -g -Wall -Wno-parentheses    -o luxio.o -c luxio.cpp
/usr/local/include/luxio/data.h: In member function 'virtual Lux::IO::data_ptr_t* Lux::IO::LinkedData::append(Lux::IO::data_ptr_t*, Lux::IO::data_t*)':
/usr/local/include/luxio/data.h:809: error: 'UINT8_MAX' was not declared in this scope
/usr/local/include/luxio/btree.h: At global scope:
/usr/local/include/luxio/btree.h:38: error: 'UINT32_MAX' was not declared in this scope
luxio.cpp: In function 'VALUE rb_luxiobtree_open(VALUE, VALUE, VALUE)':
luxio.cpp:17: warning: unused variable 'flag'
make: *** [luxio.o] エラー 1