gcc static build 騒動 on Mac OS X

gcc 4.5.3 を --enable-static で build するとコケる(Mac OS X). Lipton power で原因を突き止めたのは良かったが,,, 結末がっ...!
GCC
4
Ryoma Sin'ya @sinya8282

@henry0312 はい. っても先ほど完了したんですが. make -j で10分ぐらいで終わりました.

2011-04-30 00:38:04
henry @henry0312

@sinya8282 実は自分もgcc4.5.3のビルド中なのですが、なぜかstaticビルド出来ないんですよね。(gcc 4.6.0も) 可能ならばコンパイルオプション教えてください。自分はこんな感じです。 --> http://pastebin.com/GfQUsPfK

2011-04-30 00:40:13
Ryoma Sin'ya @sinya8282

最小構成なので参考になるかわかりませんがこんな感じです. たしか build ディレクトリは srcディレクトリとは別な方がよかった気が(must?) http://t.co/NhTlrvd

2011-04-30 00:46:18
henry @henry0312

@sinya8282 あぁ、これだとstaticビルドじゃないですね。buildディレクトリとsrcディレクトリは別にしないとうまくいきませんね。

2011-04-30 00:52:54
Ryoma Sin'ya @sinya8282

@henry0312 ごめんなさい. static 見落としてました..

2011-04-30 01:00:19
henry @henry0312

@sinya8282 可能なら試してほしいなぁw ちなみに、なぜかmakeしたときmake -jしたときでエラーが違うというw

2011-04-30 01:02:31
Ryoma Sin'ya @sinya8282

@henry0312 MacBook Pro で試して見まする. > --enable-static

2011-04-30 01:04:48
Ryoma Sin'ya @sinya8282

@henry0312 ちなみに, コンパイル環境は Mac だったりします? > gcc

2011-04-30 02:33:22
Ryoma Sin'ya @sinya8282

なにかを make するときは, 「make >& make.log &」って感じにして, tail -f で追ってます. これだと出力うざくなったら途中で切っても無問題. しかしもっと良い方法ないものか.ここらへんのノウハウあまりない.

2011-04-30 02:50:33
Ryoma Sin'ya @sinya8282

@henry0312 make の 吐くerrorってどんなんです? henryさんと同じOS, gcc version,configure option で build できたので.

2011-04-30 02:53:12
Ryoma Sin'ya @sinya8282

@henry0312 make (-j なし) 時の libgomp の部分でこんな感じの error 出てたら僕と同じ方法でbuild できるかも. http://t.co/Bu9Ehh5

2011-04-30 02:55:50
Ryoma Sin'ya @sinya8282

@henry0312 おぉ, 良かった :-) それって libgomp の configure 時に プログラム片をcompileして環境チェックするんですけど, その時 libgcc_ext.10.5 が必要になるんです.

2011-04-30 03:02:45
Ryoma Sin'ya @sinya8282

@henry0312 なので error で止まったときに, どっかにある libgcc_ext.10.5.dylib を, build_dir/gcc/ ぐらいに copy してもう一度build すれば compile 通るはずです.

2011-04-30 03:03:40
henry @henry0312

@sinya8282 おおお! やってみます! ワクテカしてきたw

2011-04-30 03:04:32
Ryoma Sin'ya @sinya8282

しかし libgcc_ext ってどんな library なんやねん.

2011-04-30 03:09:03
henry @henry0312

@sinya8282 libgcc_ext.10.5.dylib が見つからなかったのでsharedビルドしたときに作成されたものを build_dir/gcc/ に置いてみたところ、最後までビルドできました。これでよかったのだろうか・・・・

2011-04-30 03:32:18
henry @henry0312

@sinya8282 make -j のときもエラーは違っても、原因は同じだったみたいです。 libgcc_ext.10.5.dylib を置いてやれば最後までビルド出来ました。 しかし、これはgcc側の問題なのかAppleの問題なのか・・・

2011-04-30 04:09:30
Ryoma Sin'ya @sinya8282

@henry0312 う〜ん, configure の check 時のみ使われてるのかな, と思ったりしたんですが. > libgcc_ext なにか例題 compile してみて, ちゃんとstaticか otool -L ぐらいで確認とかできるでしょうか.

2011-04-30 04:12:44
henry @henry0312

@sinya8282 ・・・テストしてみたら動かなかったorz ld: library not found for -lgcc_ext.10.5 collect2: ld returned 1 exit status というエラーでコンパイル出来ませんでした。

2011-04-30 04:15:19
Ryoma Sin'ya @sinya8282

@henry0312 libpath に gcc_ext.10.5 へのpathを追加してみてください.

2011-04-30 04:16:33
Ryoma Sin'ya @sinya8282

@henry0312 gcc に -L/path/to/libgcc_ext 追加かもしくは, export LD_LIBRARY_PATH=/path/to/libgcc_ext:$LD_LIBRARY_PATH

2011-04-30 04:19:03
Ryoma Sin'ya @sinya8282

そもそも gcc の --enable-static の効果が良く分かってない僕.

2011-04-30 04:19:36