Macabのモジュールの導入メモ
MAC OSX10.5へのMacabのためのrubyモジュールの導入メモです。
取得
http://sourceforge.net/project/showfiles.php?group_id=177856&package_id=205294:sourceForgeより取得。
今回はmecab-ruby-0.97.tar.gzを取得
インストール
$tar xvzf mecab-ruby-0.97.tar.gz $cd mecab-ruby-0.97 $ruby extconf.rb $make $sudo make install
インストールは成功したようにみえたが、付属のtest.rbを実行するとかたまっている様子。
そこで,
extconf.tbを以下のように修正。$LDFLAGの行を追加です。
require 'mkmf' mecab_config = with_config('mecab-config', 'mecab-config') use_mecab_config = enable_config('mecab-config') `mecab-config --libs-only-l`.chomp.split.each { | lib | have_library(lib) } $CFLAGS += ' ' + `#{mecab_config} --cflags`.chomp $LDFLAGS = '-L/usr/local/lib' have_header('mecab.h') && create_makefile('MeCab')
mecabのライブラリパス(/usr/local/lib/libmecab.dylib)がみつからなかった問題かな?
これで、再度,extconf.rb を実行
$make clean $ruby extconf.rb $make
Makefileの修正
以上のmakeを実行すると
ld: warning in /usr/local/lib/libmecab.dylib, file is not of required architecture
というwarningがでました。architectureタイプが違う(mecabをi386で構築しているのに、今回i386とppcの複数architectureのバイナリを作ろうとした)ということなので、以下のようにMakefile中のCFLAGとLDSHAREDを修正。i386のみのバイナリを構築するよう変更。
変更前
CFLAGS = -fno-common -arch ppc -arch i386 -Os -pipe -fno-common -I/usr/local/include ... ... LDSHARED = cc -arch ppc -arch i386 -pipe -bundle -undefined dynamic_lookup
変更後
CFLAGS = -fno-common -arch i386 -Os -pipe -fno-common -I/usr/local/include ... ... LDSHARED = cc -arch i386 -pipe -bundle -undefined dynamic_lookup
これで再度、構築。
$make clean $make $sudo make install
これでwarningも出ずに構築成功。
これでtest.rbを実行してみると、とりあえず結果が出力されました。
この問題の解決にはhttp://casualconc.googlepages.com/installmecab-ruby2を参照させていただきました。