雑誌のファイルから機械学習に投げるための素性作成C++のプログラムを書いているが、時間がかかりまくるのでマルチスレッドにしている。が、ローカル環境ではうまくいくのに、リモートではうまくいかないという困った事態に遭遇。 gdb使って死んだところでwhereとかしてみるとMeCab::Viterbi::connectNormalというところで死んでいた。なんでかな思いながら調べていると、リモートでは $ mecab -v mecab of 0.96 $ which mecab /opt/local/bin/mecab で、ローカルでは $ mecab -v mecab of 0.98pre2 $ which mecab /usr/local/bin/mecab となっていた。そういえばリモートはportで入れたMeCabで、ローカルはソースから入れたものだった。 マルチスレッド環境で辞書を開く