大五郎bot(@daigoroubot)を動かすためのメモ

@daigoroubotをMac OS Xで動かすまでのメモです。 なんて需要が無さそうな記事なんだ!

Rubyとgemををインストール

とりあえず、バージョンは次のような感じで。インストール方法はこれを参考にしてください。

  • ruby 1.9.3p194
  • gem 1.8.24

required gems

gem install oauth json sqlite3 twitter tweetstream unicode_math

MeCabを使えるようにしておく

homebrewを導入しているなら、これでok。

Mac用のメモですが、Ubuntuならbrewの代わりにapt-getなど、環境に合わせた適当なパッケージ管理システムにすれば普通に動くと思います。

brew install mecab mecab-ipadic

MeCabのRubyバインディングをする

  1. ここからbrewで入れたMeCabと同じバージョンのRubyバインディングをダウンロードする。
  2. tar -jxf mecab-ruby-xxx.tar.gzなどで解凍。
  3. READMEの指示通りに作業する。

もし次のようなエラーが出たら、extconf.rbを編集する必要があるよう。

(参考:MacPortsで、mecabと、mecab-rubyのインストール)

dyld: lazy symbol binding failed: Symbol not found: __ZN5MeCab12getLastErrorEv
  Referenced from: /Users/kobayashi/.rvm/rubies/ruby-1.8.7-p174/lib/ruby/site_ruby/1.8/i686-darwin10.7.0/MeCab.bundle
  Expected in: flat namespace


dyld: Symbol not found: __ZN5MeCab12getLastErrorEv
  Referenced from: /Users/kobayashi/.rvm/rubies/ruby-1.8.7-p174/lib/ruby/site_ruby/1.8/i686-darwin10.7.0/MeCab.bundle
  Expected in: flat namespace

extconf.rb に次のように$LDFLAGSを追加します。

# extconf.rb
require 'mkmf'

mecab_config = with_config('mecab-config', 'mecab-config')
use_mecab_config = enable_config('mecab-config')

+$LDFLAGS += ' -L' + `#{mecab_config} --libs-only-L`.chomp

`mecab-config --libs-only-l`.chomp.split.each { | lib |
  have_library(lib)
}

$CFLAGS += ' ' + `#{mecab_config} --cflags`.chomp

have_header('mecab.h') && create_makefile('MeCab')

参考: MacにMecabとmecab-rubyをインストールして形態素解析。辞書はIPA辞書、NAIST辞書、UniDicの3種:Garbage In Garbage Out

comments powered by Disqus

gam0022.net's Tag Cloud