推測 - RubyCocoa のユニバーサルバイナリが i386 で動かない
ふつうにスクリプトでつくった RubyCocoa のユニバーサルバイナリのパッケージがどうもうまく動かないようだ。0.4.3d2 のときはちゃんと動いてたんだから、その後の変更があやしいよな。
というわけで、まずは setup 時の出力を見てみよう。
MasterObjectLink /Users/kimuraw/proj/rubycocoa/src/framework/ build/RubyCocoa.build/Default/RubyCocoa.build/Objects-normal/ RubyCocoa-ppc-master.o
なんだか見たことない出力が。これのどこがあやしいかっていうと、ppc だけでi386 に関する出力がないんだよな。この master.o の i386 向けのオブジェクトが作成されていないために、intel Mac で動いていないんじゃなかろうか。
これは比較的最近にいれた Xcode のオプション GENERATE_MASTER_OBJECT_FILE がバツグンにあやしい。試しにこれを無効にして、再度 setup してみよう。
すると、上記の MasterObjectLink のプロセスがなくなった。前後の処理を見ても、これでよさそうな感じ。けっこう自信あるので ML にも "believe" とか思わず書いてしまった。
(2006/10/25 追記: そんなこと言っても、だめなものはだめなのだ。つづき)
で、これで解決したらどうするかってことを考えた。以前にも書いたように、GENERATE_MASTER_OBJECT_FILE は .a な libruby で RubyCocoa を構築するためには必要なので、単純に削ってしまうと、あとで「ビルドできないっすよ」という問い合わせに対応しなくちゃなんなくなるので残したい。なので、libruby が .a のときのみ GENERATE_MASTER_OBJECT_FILE を YES にするようにパッチを書いた。
| 固定リンク
最近のコメント