My Brain is Open.

思いついたことを適当に列列と

nokogiri 1.4.4でエラー

Ruby on Railsで業務アプリを構築中。

将来必要になるだろうjpmobileを入れてみたところ、入るバージョン0.1.3ではwebratを使用しており、その依存関係でnokogiriがインストールされる。
開発マシンのMac OS X 10.6ではそこでエラーが発生。
mkmf.logはこんな感じ。

have_func: checking for iconv_open() in iconv.h... -------------------- no

"gcc -o conftest -I/usr/include/ruby-1.9.1/x86_64-darwin10.4.0 -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I/opt/local/include/libxml2 -I/usr/local/include/libxml2 -I/opt/local/include -I/usr/local/include -I/usr/include -I/usr/include -I/usr/include/libxml2 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -pipe  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c  -L. -L/usr/lib -L/opt/local/lib -L/usr/local/lib -L/usr/lib -L.      -lruby-static  -lpthread -ldl -lobjc  "
Undefined symbols:
  "_libiconv_open", referenced from:
      _t in ccKMdG8x.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

どうも、iconvライブラリの読み込みでうまくいってない感じ。

ググってみるとnokogiri 1.4.1の動作報告はガンガン出てるので、以下をGemfileに挿入。

gem 'nokogiri', '1.4.1'

うまくいきました、と。

(追記)Nokogiriインストール時に入れたlibxml2のバージョンが求めるものと違っていたようで、railsコマンドの度にずっと警告が出てる。

WARNING: Nokogiri was built against LibXML version 2.7.8, but has dynamically loaded 2.7.3

どうってことは無いのだが、気になる人は libxml2.7.3 にすべきだろう。私は面倒なのでこのままにする。