diff options
-rw-r--r-- | general.ent | 3 | ||||
-rw-r--r-- | part3intro/toolchaintechnotes.xml | 19 |
2 files changed, 20 insertions, 2 deletions
diff --git a/general.ent b/general.ent index 1328f7c7c..81a7b51dc 100644 --- a/general.ent +++ b/general.ent @@ -123,6 +123,9 @@ <!ENTITY lfs-user "<systemitem class='username'>lfs</systemitem>"> <!ENTITY fstab "<filename>/etc/fstab</filename>"> <!ENTITY boot-dir "<filename class='directory'>/boot</filename>"> +<!ENTITY ch-final "<xref linkend='chapter-building-system'/>"> +<!ENTITY ch-tmp-cross "<xref linkend='chapter-temporary-tools'/>"> +<!ENTITY ch-tmp-chroot "<xref linkend='chapter-chroot-temporary-tools'/>"> <!ENTITY % packages-entities SYSTEM "packages.ent"> %packages-entities; diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index a6206bb91..16b6aafd2 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -256,8 +256,23 @@ would be able to build those libraries, but (1) the build system of gcc does not know that it is usable on pc, and (2) using it on pc would create a risk of linking to the pc libraries, since cc-lfs is a native - compiler. So we have to re-build libstdc++ twice later on: as a part of - gcc stage 2, and then again in the chroot environment (gcc stage 3).</para> + compiler. So we have to re-build libstdc++ later as a part of + gcc stage 2.</para> + + <para>In &ch-final; (or <quote>stage 3</quote>), all packages needed for + the LFS system are built. Even if a package is already installed into + the LFS system in a previous chapter, we still rebuild the package + unless we are completely sure it's unnecessary. The main reason for + rebuilding these packages is to settle them down: if we reinstall a LFS + package on a complete LFS system, the installed content of the package + should be same as the content of the same package installed in + &ch-final;. The temporary packages installed in &ch-tmp-cross; or + &ch-tmp-chroot; cannot satisify this expectation because some of them + are built without optional dependencies installed, and autoconf cannot + perform some feature checks in &ch-tmp-cross; because of cross + compilation, causing the temporary packages to lack optional features + or use suboptimal code routines. Additionally, a minor reason for + rebuilding the packages is allowing to run the testsuite.</para> </sect2> |