groonga(ぐるんが) への道(その1) ― 2009/07/30
groonga(ぐるんが)は、未来検索ブラジルによるSennaの後継プロジェクトです。 2月20日にテストリリースされていたそうです。
SennaはMySQLの再ビルドなどの敷居が高くて、個人的には検証実験だけして終わっていましたが、 ぐるんがではプロジェクト内にデータストア機能も取り込んでいるので、単体での利用も可能なようです。
Cygwinでコンパイルしてみる
Linux以外未テストと明記してある訳ですが、今手元にあった一番手軽な環境でテストしてみようかと……。
tar ballを取って来る。
configure ……通った。結構行けそう?
make ……開始した瞬間エラー終了 orz
どうも、ヘッダの宣言とソースの実装で引数の型があっていないようです。
groonga-0.1.0/lib/io.h:105-106 grn_io *grn_io_create(grn_ctx *ctx, const char *path, uint32_t header_size, uint32_t segment_size, uint32_t max_segment, grn_io_mode mode, unsigned int flags);
groonga-0.1.0/lib/io.c:135-137 grn_io * grn_io_create_tmp(uint32_t header_size, uint32_t segment_size, uint32_t max_segment, grn_io_mode mode, uint32_t flags)
flagsがプロトタイプ宣言では uint32_t, 関数定義では unsigned int になってます。
GCCがver.4系なら通るっぽいですね。(CygwinのデフォルトのGCCは3.4.4、4系も別にパッケージがある) でも、GCC4のインストールが面倒臭かったので、適当にパッチをあてながら進行。
MSG_WAITALL シンボルが未定義……。
先のuint32_tとunsigned intの不一致は沢山あるし、耐えられなくなってきた……。
VMWare上の Ubuntu8.04
groongaのビルドは問題なく成功。
Rubyバインディングをインストールしようとして、拾ってきたばかりのVMイメージにはRubyがインストールされていないことに気付く。 というか、
$ sudo gem install groonga プログラム 'gem' はまだインストールされていません。 次のように入力することでインストールできます: sudo apt-get install rubygems bash: gem: command not found
apt-getの案内までしてくれるとは気が利いてるね。
というところで、折角なので(普段ならrubygems自体はtar ballからインストールするのですが……)
$ sudo apt-get install rubygems
してみました。
ruby1.8やirb1.8等の依存パッケージと共にrubygemsのパッケージがインストールされたので、改めて
$ sudo gem install groonga Bulk updating Gem source index for: http://gems.rubyforge.org ERROR: While executing gem ... (Gem::GemNotFoundException) Could not find groonga (> 0) in any repository
……!? なんか、'Bulk updating Gem source index'の処理時間がやたら長かったりしたので、嫌なものを感じながら
$ gem --version 0.9.4
まあ、仕方ないかと、ここで反射的に
$ sudo gem update --system
特にエラーは無く終了したのですが、
$ gem --version 0.9.4
……!?
以下次号
次回予告
おもむろに
$ sudo apt-get remove rubygems
を実行? その顛末は?
ruby1.8 と ruby は別のパッケージ、だと?
mkmf が見付からない? そんな時はauto-apt searchで……。
まあ、そんな感じで。なんか疲れたので今日はここまで。
確かRubyの公式環境はDebianだった気がするのですが、Ruby(とrubygemsまわり)はaptに任せないで 自分でビルドした方が良いのですかねえ……。
コメント
トラックバック
このエントリのトラックバックURL: http://dragonstar.asablo.jp/blog/2009/07/30/4465033/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。