Personal tools
You are here: Home ブログ matsuyama x86_64 システム Gentoo で gcc をビルドする
Document Actions

x86_64 システム Gentoo で gcc をビルドする

gcc 改造しまくるためにまずはビルドだと思って早速ビルドしたらエラーでたのでその対処メモです。

ちなみに詳細は環境は以下のようになっています。

% uname -a
Linux gentoo 2.6.20-gentoo #1 SMP Tue Feb 6 22:47:22 JST 2007 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4600+ AuthenticAMD GNU/Linux

最初にエラーが出るビルド方法を紹介しておきます。

% cd gcc-4.1.2
% ./configure
% make

エラーを調べてみると、 -m32 でコンパイルされたオブジェクトファイルをリンクするときに ld/usr/lib64 のほうを読みにいっていてオブジェクトファイルと共有オブジェクトファイルとのアーキテクチャが合わないのが原因らしいです。

そこでまずは google 先生に解決策を尋ねてみるのですが納得のいく回答が得られず、かといって gcc の ebuild とか eclass なんて読む気が起こるわけもなく、とりあえず力技で行こうということで sed-m32 を取りのぞいてみたりしたのですが、他の所で新しいエラーが出てきて切りがない状態になりました。しょうがなく観念して toolchain.eclass を読んでいると、何やら multilib というとっても怪しい feature に出くわしたので、適当に

% cd gcc-4.1.2
% ./configure --disable-multilib --enable-languages=c,c++
% make

とやってみると見事にビルドできました。 multilib なシステムで --enable-multilib じゃなく --diable-multilib でビルドできるってのがとても不思議ですが取りあえずちゃんと動いているようなので、これで良しということにします( gcc は深く追求すると時間がいくらあっても足りない)。

#ちなみに ebuild コマンド使うってのは個人的に反則です

以上。

以下適当にリンク貼りまくる。

-http://people.redhat.com/dnovillo/Papers/#cgo2007
--2007 International Symposium on Code Generation and Optimization (CGO) っていうスライド
--図が多用されていて大変わかりやすい
--他のスライドはまだ読んでない
-http://gcc.gnu.org/wiki/Speedup_areas
--コンパイルの遅さでは他の追随を許さない gcc 。そんな gcc 嫌いだ!っていうテーマ。
--まあ普通に考えて frontend -> generic -> gimple -> rtl -> asm だけでも十分遅くなりそう
-http://gcc.gnu.org/wiki/HomePage
--GCC summit proceedings
The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/matsuyama/build-gcc-on-gentoo-64/tbping

Re:x86_64 システム Gentoo で gcc をビルドする

Posted by matsuyama at 2007-04-06 01:28
これ解決するために三日かかったってのは内緒。
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.