[mac][rubycocoa] require 'osx/cocoa'ができない。

まず環境

os
leopard
ruby
ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.2.0]

rubyはportsでいれたやつとデフォルトで入っているものがあり、

which ruby

すると/opt/local/bin/rubyなのでportでいれた方が実行されている。

現象

$ irb
irb(main):001:0> require 'osx/cocoa'
LoadError: no such file to load -- osx/cocoa
        from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
        from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
        from (irb):1

なんとなくpathが通ってないのかなぁと思いつつ、rubycocoaをソースからビルドしてみる。
http://limechat.net/rubycocoa/wiki/?Buildを参照して、/opt/local/bin/rubyを使う場合を試す。

cd rubycocoa
/opt/local/bin/ruby install.rb config --prefix=/opt/local
/opt/local/bin/ruby install.rb setup
sudo /opt/local/bin/ruby install.rb install

とのことだがsetupのところで以下のエラー(途中から)

ld: warning in /opt/local/lib/libruby.1.8.6.dylib, file is not of required architecture
ld: in /opt/local/lib/libz.1.dylib, file is not of required architecture
collect2: ld returned 1 exit status
ld: warning in /opt/local/lib/libruby.1.8.6.dylib, file is not of required architecture
ld: in /opt/local/lib/libz.1.dylib, file is not of required architecture
collect2: ld returned 1 exit status
ld: warning in /opt/local/lib/libruby.1.8.6.dylib, file is not of required architecture
ld: in /opt/local/lib/libz.1.dylib, file is not of required architecture
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/A3/A3CK0Db3GsqnfXVxBKVisU+++TI/-Tmp-//cc9HrDMK.out (No such file or directory)
** BUILD FAILED **
setup failed
'system /usr/bin/xcodebuild' failed
try 'ruby install.rb --help' for usage

/usr/bin/rubyを使う場合だとうまく行く。素直に/usr/bin/rubyを使えってことなのかな?
ごり押しで

sudo /opt/local/bin/ruby install.rb install

やってみたらなんかうまくいった。

$ irb
irb(main):002:0> require 'osx/cocoa'
2008-03-20 18:07:29.319 irb[14434:10b] WARNING: multiple libruby.dylib found: '/opt/local/lib/libruby.dylib' and '/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/libruby.1.dylib'
=> true

warning出てるけど一応true.

追記

コメントで教えてもらった。

/opt/local/bin/ruby install.rb config --prefix=/opt/local --build-universal=no
/opt/local/bin/ruby install.rb setup
sudo /opt/local/bin/ruby install.rb install

でエラー無くビルドできた!

leopardでは--build-universal=yes がデフォルトになっているので、MacPorts がビルドしたもので PPC のバイナリを持っていないものがある場合、「file is not of required architecture」のエラーが出るということです。

みたいです。ありがとうございます。id:Psychsさん。