2012-02-03 6 views
1

現在、新しく更新されたubuntu 11.10でgcc 4.4をビルドしようとしています。しかし、ブートストラップしようとすると、コンパイラーを構築するのにいくつかの問題があります。下位バージョンのコンパイラをビルドできないのはなぜですか?

最初にcrti.ocrtn.oが見つかりませんでした。私はそれらを検索パス内の別のディレクトリにシンボリックリンクし、ブートストラップコンパイラを得ることができました。しかし今ではメッセージで失敗します。

configure: error: C compiler cannot create executables

私は簡単なテストプログラムに中間のコンパイラを使用して試してみた、と私はメッセージを取得する:

$ ./host-x86_64-unknown-linux-gnu/prev-gcc/xgcc test.c 
xgcc: error trying to exec 'cc1': execvp: File or directory not found 

だから、何かを真剣に台無しにされました私の中間コンパイラのパスと思われます。私がubuntu 11.04で同じことをしたとき、すべてがうまくいった。

私が設定するには、次のコマンドラインを使用:

./configure --prefix=/opt --program-suffix=44 

私もVPATH内蔵だけでなく、ソースのビルドでは両方を試してみましたが、どちらも同じ問題を抱えています。私はまだ更新の前に、/optの中に横たわっているgcc44を持っていますが、更新以来使用できなくなっています。

gcc 4.4をUbuntu 11.10で動作させる簡単な方法はありますか?私は、ビルドコンパイラでなくても、パッケージをダウンロードしてインストールすれば、うまくいくでしょう。

+2

あなたconfigure.logを調べ - それは、おそらくあなたはもう少し診断を与える必要があります... –

+0

私が見ていた...しかし、あなたの情報のおかげで私が近づく再び多くのことを見て正しいconfig.logと私は、更新中に正しくリンクされていないように見える別の 'crt?.o'ファイルを見つけました。今では(一見したところで)うまくいくようです。 – LiKao

+0

別の推測:あなたはlibc6-devがないかもしれません( '#apt-get install libc6-dev') –

答えて

2

これは、Ubuntuのマルチアーチへの切り替えが原因です。基本的にすべての「標準」パスが変更されているため、同じマシン上に複数のアーキテクチャのライブラリを衝突なくインストールできます。

問題を修正するためにUbuntu GCCがパッチされていますが、アップストリームコンパイラは前回チェックしたときにまだ修正されていませんでした。

はこちらをご覧ください:https://askubuntu.com/questions/69365/cant-build-gcc-anymore-since-upgrade-to-11-10

+0

これで動作します。適切な 'crt * .o'sを'/lib'にシンボリックリンクしました。これはちょっとしたハックです。なぜなら、私は通常、システムディレクトリ内の手作業をリンクすることを嫌っているからですが、今のところそれはうまくいくようです。その解像度がより適しているかどうかを確認するために、リンクを見ていきます。 – LiKao

関連する問題