2012年12月13日木曜日

MacにJubatus0.3.4を色々できるようにビルド&インストールするまで

環境

Mac OSX 10.7.5

Homebrew 0.9.3

 

まぁbrewとかで入れてもいいんだろうけど、色々触り、いじりたいのでビルドからやる。

Brewで入れるなら下記のブログ様がわかりやすい。

JubatusをOS X Lionにインストールできた - Ayum Osanai's blog

今回Makefileやwscriptにある-O2オプションを-O0オプションにしていますが、個人的なことなので....

前準備

公式サイトを参考に

http://jubat.us/ja/build.html

必要なパッケージを揃える(今回はとりあえず全て突っ込む)

必須ではないパッケージがどういう風に使われるかどうかは下記のブログ様を見てください。

非公式Jubatusインストールガイド - kuenishi's blog

 

Homebrewで入れたもの

  • gcc(4.7.2)
  • libevent(2.0.20)
  • google-glog(0.3.2)
  • mecab(0.994)
  • msgpack(0.5.7)
  • re2(ver?)
  • zookeeper(3.4.5)
brew install 〇〇

でok

---補足1
gccをインストールしたとき、シンボリックリンクに注意

---補足2
brewではgoogle-glogではなく、glogとしてインストールする

---補足3
re2のインストールだけは--HEADオプションとmercurialが必要(brewでok)

 

Homebrewで入れなかったもの

  • ux-trie(0.1.0)
  • pficommon(1.3.1)
  • zookeeperのCクライアント(3.4.5)

 

 

  • ux-trie(0.1.0)のインストール

https://code.google.com/p/ux-trie/downloads/list

解凍とインストール

$ wget http://ux-trie.googlecode.com/files/ux-0.1.8.tar.bz2
$ tar -jxf ux-0.1.8.tar.bz2 && cd ux-0.1.8

ux-0.1.8/wscriptをいじる

#変更前
#ctx.env.CXXFLAGS += ['-O2', '-W', '-Wall', '-g']
#変更後
ctx.env.CXXFLAGS += ['-O2', '-W', '-Wall', '-g' ,'-I/usr/include/malloc'] 

-I/usr/include/mallocの追加をした

$ ./waf configure
$ ./waf buildgit clone https://github.com/pfi/pficommon.git

 

  • pficommon(1.3.1)のインストール

https://github.com/pfi/pficommon

$ git clone https://github.com/pfi/pficommon.git
$ cd pficommon
$ ./waf configure
$ ./waf build
$ ./waf install 

 

  • zookeeperのCクライアント(3.4.5)のインストール 

http://ftp.riken.jp/net/apache/zookeeper/

$ wget http://ftp.riken.jp/net/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
$ tar xvzf zookeeper-3.4.5.tar.gz
$ cd zookeeper-3.4.5/src/c
$ ./configure 
$ make
$ make install 

 

 

Jubatusのビルド&インストール

https://github.com/jubatus/jubatus

 

$ git clone https://github.com/jubatus/jubatus.git
$ cd jubatus
$ ./waf configure --enable-mecab --enable-ux --enable-zookeeper
$ ./waf build
$ ./waf install  

 

Jubatusの動作確認

 

$ jubaclassifier

ちゃんと動くとこまで確認済み

 

分散環境も公式サイトを参考にしてやったが、まだまだ不安定。(まだ最後までできたのは1回のみ...orz)

落ち着いたらlogを残す予定。 

 

 

その他気になったこと

上記の状態で

$ ./waf --checkall

にて

json_converterやmecab_splitterとやらでコケてる様子。

installできて動くけど

 

 

 

 

 

 

 

0 件のコメント:

コメントを投稿