On 16/02/2019 08:55, Brandon Murry via lfs-dev wrote: > Thanks for everyone's help getting through some of the problems I encountered. > Finally got LFS complete and booted and thought I could share a few things > extra issues I came across using git repositories for GCC and the Linux > kernel. > > Because I'm a weirdo, I want to eventually get my LFS software built directly > from official repositories.
Well, the problem in doing that is that when something goes wrong, you never know whether you did something wrong or you have just hit some development bug, which would get corrected within a few days. > For the initial build, I used the provided tar > balls EXCEPT for GCC and Linux. There were a couple of extra issues that > seemed to come from this. > > GCC 9.0.1 (experimental) - I came across an issue after building GCC in > chapter 6 where the linker was still using libraries from the /tools > directory. Not sure what the exact issue here was, but the answer I found > (from a previous version of LFS coincidentally) was to dump the specs file > from GCC and then manually change the linker settings so that the /tools > directory references were replaced with libraries of the final system. This > may be an issue going forward for LFS so I thought I'd share, or maybe I just > did something dumb somewhere else. Looks like something went wrong in 6.10 Adjusting the Toolchain. Maybe when copying ld-new to ld? > > Systemd-240 - There was a Werror build problem with systemd. Warnings > generated from the "Werror=format-overflow=" configuration option halted the > compilation. I can go back and find the offending file if people are > interested. Adding "Wno-error=format-overflow" to the ninja build > configuration options helped systemd to finish compiling with no other errors. > It remains to be seen whatever was causing this warning will wreck the system. > My only idea is that GCC 9.0.1 is being picky in a way that 8.20 is not. That may well be... > > Linux 5.0.0 - I made a huge mistake in using the git repository to compile the > kernel whereas I used the tarballs to install the Linux headers for 4.20.6. I > decided to just go through with it and see if the system would boot still, and > it appears having a different kernel version from the kernel headers did not > blow everything up. Maybe someone here can let me know how to go back and > reinstall the updated headers without ruining everything or recompiling the > whole system. No, that's not a mistake: the linux headers are for glibc's interface to kernel. Don't change them until you recompile glibc. Glibc will continue to use the API from 4.20.6, but that's not a problem since the API of newer kernels should be backward compatible. > > Last note, I managed to use the old "package user" system from way back to > build and install all my software. I did not rely on the build scripts > provided by the more_helpers... files, instead just using the > "Install_package" script to do the grunt work of creating the users and and > home folders in /usr/src. Then I just manually copied and pasted the commands > from the book (manually changing d-bus to run as suid). Now I have a full LFS > system where every binary and library shows which package is belongs to. I'm a > high school math and computer science teacher so I'm using LFS as a way to > learn more about Linux and it's ecosystem so that I can better teach Linux in > my classes. > Congratulations. I wish they were doing that in France... Pierre -- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
