On Wednesday 26 May 2010 08:33:20 linux fan wrote: > On 5/26/10, Simon Geard <delga...@ihug.co.nz> wrote: > > I can't really see how things can be improved (short of blinking red > > text on *every* page), but it does seem like half the problems we deal > > with are from people not following it. Are people not even reading that > > entire "General Compilation Instructions" page, and skipping straight to > > the packages? > > The important note #1 in ch 5.3 is clear. > However, "General Compilation Instructions" never specifies the flow > of events expected to follow: > > 1 - make sure $LFS is set to the target directory (export LFS=/mnt/lfs) > 2 - change directory to $LFS/sources > 3 - unpack the package tarball > 4 - change directory to the unpacked directory created by tar > 5 - follow package build and install instructions > 6 - change directory to $LFS/sources > 7 - remove the unpacked directory created by tar > > At least I can't remember where that is.
That *is* documented. Somewhere. (I think you forgot the step to delete the build directory, though.) I think the steps could be clearer, perhaps written a little differently or presented a little differently. Perhaps each package should should start with a hyperlink to the first four steps, called "build preparation", and end with a link to the last four steps, called "build cleanup". Small, gentle reminders of what needs to be done before and after building. While on the subject, I think it would be useful to move each of the toolchain adjustings and checks to its own section. For example, the toolchain check in pass 2 of building gcc really should stand alone. Yes, it's well marked. But it is, logically, a major, important build step of its own. I've been rebuilding another project's build system, which was based on an early version of LFS. The toolchain adjustments and checks were already in their own steps; I expanded their functionality and added pseudo-targets in teh Makefile. If an adjustment fails, it backs out its changes and stops the build. If a check fails, the build stops. And the checks are meticulous. Even the main pre-build check will stop the build if just one prerequisite is not met. My build system is closer to ALFS, but I've only used LFS as my guide. LFS should be written so that a 'human computer' can execute the program. It's pretty good, but as with all human works, it can be improved. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page