[mac][rubycocoa] require 'osx/cocoa'ができない。
現象
$ 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さん。