Can someone explain to me the logic of LFS's new build system?
by hazel from LinuxQuestions.org on (#57KHA)
I am ploughing through LFS 10.0-rc1 and making very heavy weather of it. I feel I really don't understand what I am doing and that's a feeling I don't like.
The old system was logical and easy to understand. You built a set of tools and they went in the $LFS/tools directory. That was at the head of your path, so each tool came into use as soon as it was built. In effect you peeled away gradually from the host system until you were independent enough to go into chroot.
Under the new system, $LFS/tools is still at the head of the path but only the primary compilation tools go there. Chapter 6.1 says of the other tools:
Quote:
Why can they not be used? Is it simply because they are not on the command path, or are they not on the path because they cannot be used for some other reason. And why is everything cross-compiled for a fictitious host? I can see why that must be done for gcc and binutils to make a clean break with the host environment, but it never used to be done for the ancilliary tools.
I'd be grateful if someone could explain to me why things are now done this way.


The old system was logical and easy to understand. You built a set of tools and they went in the $LFS/tools directory. That was at the head of your path, so each tool came into use as soon as it was built. In effect you peeled away gradually from the host system until you were independent enough to go into chroot.
Under the new system, $LFS/tools is still at the head of the path but only the primary compilation tools go there. Chapter 6.1 says of the other tools:
Quote:
Originally Posted by LFS BookThose utilities are installed into their final location, but cannot be used yet. Basic tasks still rely on the host's tools. Nevertheless, the installed libraries are used when linking. |
I'd be grateful if someone could explain to me why things are now done this way.