Macでもkakasiを使いたい
例によってMacで開発環境を整備している次第だが、インストールするたびちょいちょいエラーがでる。
kakasi自体はmacportsから拝借。
さて、rubyでkakasiを利用する為のライブラリを入れてみた。
$ wget http://www.notwork.org/~gotoken/ruby/p/kakasi/kakasi-020928.tar.gz $ tar zxvf kakasi-020928.tar.gz $ cd kakasi-020928 $ ruby extconf.rb $ make /usr/bin/gcc-4.0 -I. -I/opt/local/lib/ruby/1.8/i686-darwin9 -I/opt/local/lib/ruby/1.8/i686-darwin9 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O2 -fno-common -pipe -fno-common -I /usr/local/include -c kakasi.c /usr/bin/gcc-4.0 -dynamic -bundle -undefined suppress -flat_namespace -o kakasi.bundle kakasi.o -L. -L/opt/local/lib -L. -L/opt/local/lib -L /usr/local/lib -lkakasi -lruby -lpthread -ldl -lobjc ld: in /usr/local/lib, can't map file, errno=22 collect2: ld returned 1 exit status make: *** [kakasi.bundle] Error 1
見た感じ-Lと/usr/local/libの間の空白が問題らしい
-L /usr/local/lib -lkakasi
Makefileの問題部分を修正
$ vi Makefile 88: LOCAL_LIBS = -L/usr/local/lib -lkakasi
早速リトライ
$ make $ sudo make install |tee install.log $ cd / $ ruby -r kakasi -e "p defined?(Kakasi)" "constant"
これでOK