第6章Linuxでgccを最初から再インストールする必要があるのはなぜですか?

第6章Linuxでgccを最初から再インストールする必要があるのはなぜですか?

LFS ブックに従おうとしていますが、この問題を解決できません。ターゲットパーティションの第5章でGCCコンパイラを構築しましたが、なぜchrootモードに入った後にやり直す必要がありますか?ポイントは何ですか?以前のバージョンを使用しないのはなぜですか? GlibCでも同様です。

答え1

chroot私はビルドがGCCとGlibCをビルドするためのすべての補助ファイルとプログラムが存在し、「ビルドシステム」とは無関係であることを確認すると信じています。多くの場合、コンパイラを構築することは決して簡単ではありません。私はGCCがbisonさまざまなflexヘッダファイル、設定ファイル、その他のファイルを要求すると信じています。ビルドは、chrootビルドシステム(LFSではなく)と自己ホストする必要がある最終LFSインストールの間の中間段階です。

GCCランタイム環境(PATHおよびLD_LIBRARY_PATHその他の構成項目)の複雑さによって、初期GCCコンパイラからいくつかの副作用が漏洩する可能性があります。論文を見つけることはできませんが、すべての奇妙なバグと依存関係が表面化するために、前の世代とのコンパイルに最大5世代のコンパイラがかかった可能性があることを覚えています。

答え2

aと入力するとは、何もインストールされず、何も機能しない空のシステムを意味するため、第5章で行った作業をコンパイルするためのツールが必要です。これがchrootあなたが私にツールディレクトリを指摘した理由でもあります。chroot/tools/bin/envPATH

gcc第6章では、第5章のツールを使用してパッケージをコンパイルするなど、パッケージをダウンロードしてインストールしてchrootを埋めます。

関連情報