C/Migemo のインストール
自宅の PC の Ruby も RVM で管理することに伴い、Ruby のバージョン毎に
migemo をインストールするのは面倒なので、C/Migemo をインストールする。
ソースの取得、展開、コンパイル、インストール
$ cd ~/src/ $ wget http://cmigemo.googlecode.com/files/cmigemo-default-src-20110227.zip $ unzip cmigemo-default-src-20110227.zip $ cd cmigemo-default-src
README.txt(README_j.txt) が丁寧。
$ ./configure --help bash: ./configure: Permission denied $ ls -l configure -rw-r--r-- 1 foo boo 1770 Feb 27 19:45 configure
何故か configure に実行権限がついていない。
$ chmod 755 configure $ ./configure --help
--help で ヘルプが表示されない上に config.mk が 更新される。
しょうがないので configure を見ると --prefix は 指定出来る。
$ ./configure --prefix=$VMDIR_PATH/usr $ make gcc - 略 - cc -O2 -Wall -fPIC -o build/object/wordbuf.o -c src/wordbuf.c src/wordbuf.c: In function `wordbuf_cat': src/wordbuf.c:118: error: `INT_MAX' undeclared (first use in this function) src/wordbuf.c:118: error: (Each undeclared identifier is reported only once src/wordbuf.c:118: error: for each function it appears in.) - 略 -
エラー。http://d.hatena.ne.jp/ser1zw/20100825/1282663086 を
読むと、src/wordbuf.c に
#include <limits.h>
を追加するようだ。修正して
$ make gcc
コンパイルが完了した。なんで エラーのソースをアップロードしてるんだろう?
$ make gcc-dict
dict/euc-jp.d/ しか作られないので
$ cd dict $ make utf-8 $ cd .. $ make gcc-install
/etc/ld.so.conf の編集とロード
/etc/ld.so.conf の編集だが、Vine 4.2 には /etc/ld.so.conf.d/
ディレクトリがあり、ここに置かれたファイルが読み込まれる。
root で /etc/ld.so.conf.d/User-Library.conf を作成し、
/path/to/lib
と編集し、
# ldconfig
で共有ライブラリとして libmigemo.so, libmigemo.so.1 が認識される。
.emacs の設定
(setq migemo-command "cmigemo") (setq migemo-options '("-q" "--emacs")) (setq migemo-dictionary (concat (expand-file-name myvm-dir) "/usr/share/migemo/utf-8/migemo-dict")) (setq migemo-user-dictionary nil) (setq migemo-regex-dictionary nil) (setq migemo-coding-system 'utf-8-unix) (load-library "migemo")
以上を評価し、migemo で I-search が出来るようになった。
Migemo(本家 Ruby版) の削除
Migemo と C/Migemo が混在してると 後々 混乱しそうなので削除する。
本家のインストール手順は
- http://0xcc.net/ruby-romkan/ruby-romkan-0.4.tar.gz
- http://0xcc.net/ruby-bsearch/ruby-bsearch-1.5.tar.gz
を取得、展開し、Ruby のロードパスが通っているディレクトリに
romkan.rb, bsearch.rb をコピーする。
を取得、展開し、make, make install。
以上の 逆を行う。
$ cd ~/src/migemo-0.40
emacs-lisp は残さなければならないので、Makefile より、
uninstall-binSCRIPTS: uninstall-pkgdataDATA: uninstall-rubyDATA:
を それぞれ実行すればよい。
$ make uninstall-binSCRIPTS $ make uninstall-rubyDATA $ make uninstall-pkgdataDATA
romkan.rb, bsearch.rb を消去。
$ cd $VMDIR_PATH/usr/lib/ruby/site_ruby/1.8/ $ rm romkan.rb bsearch.rb
終了