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/env
PATH
gcc
第6章では、第5章のツールを使用してパッケージをコンパイルするなど、パッケージをダウンロードしてインストールしてchrootを埋めます。