Re: [lfs-dev] proposal: some improvements to LFS book
On 5/30/20 12:00 AM, Xi Ruoyao via lfs-dev wrote: On 2020-05-15 15:09 +0800, Xi Ruoyao via lfs-dev wrote: On 2020-05-11 23:05 +0800, Xi Ruoyao via lfs-dev wrote: On 2020-05-11 09:19 -0500, Bruce Dubbs via lfs-dev wrote: On 5/11/20 8:23 AM, Pierre Labastie via lfs-dev wrote: On Mon, 2020-05-11 at 19:51 +0800, Xi Ruoyao via lfs-dev wrote: I just redone LFS build for GCC-10.1.0. I proposed several improvements during the process: At first, some changes suggested by Firas: 1. Remove bzip2 in Chap. 5. No other changes needed. decreases the total number of SBUs by 0.1 :) why not, though 2. Remove ncurses in Chap. 5. Move Chap. 6 readline after ncurses to satisify it. Notes: (1) Chap. 5 Python 3 can be built w/o ncurses, just lacking one module we don't need. (2) We moved readline before bc to satisify GNU bc, but now Gavin's bc doesn't need readline. good point (3) It slightly reduces the functionality of Chap. 5 bash. Long command lines won't be wrapped automatically anymore. It does much more than that if the terminfo database is not installed: no backspace (more exactly, backspace outputs only a space forward...) left and right arrows not functional. In short, no way to correct a typo can be Ok if scripting though So I'll not do that. In a recent thread we discovered gettext somehow depends on ncurses. So it should not be done, at all. 3. Remove flex in Chap. 5. Move Chap. 6 flex before Binutils so `ranlib` and `ar` can link to libfl.so. It seems bison test suite does not depends on flex any more. bison chapter 6 will be built after flex anyway, if we do the above, so whether it depends on it or not is not important. However Firas' other suggestions are proved to be impossible. Glibc requires bison, gzip, gettext, perl, texinfo, python, and xz (to be untarred) so all of them need to stay in Chap. 5. Util-linux can't be removed from Chap. 5 due to its circular dependency with systemd/eudev. And: 4. Move Chap. 6 zstd before GCC, so GCC can link to libzstd.so and use zstd to compress LTO stream. definitely to be done, independently on the other points. 5. Remove PKG_CONFIG_PATH=/tools/lib/pkgconfig in Chap. 6 kbd. It seems unneeded now. 6. Remove PERL5LIB=$PWD/tests/ in Chap. 6 make. It is unneeded now. 7. Add: mkdir /tools/lib/locale localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true into Chap. 5 Glibc. It will satisfy Chap. 6 man-db test. Or link /tools/share/locale/locale-archive->/usr/share/locale/locale- archive allows also all bison tests to pass 8. Remove libctf{,-nobfd}.a (along with libbfd.a and libopcodes.a) in "Cleaning up" section. Independent on the other points and should be done for sure. Are they OK to be committed into trunk? I'd say point 2 shouldn't not be committed, or only with some tweak of the terminfo database... among the other points: - 4 and 8 should be done for sure. - I've not tested 5 and 6, but I guess you have tested them, so go for them too - I'd rather use the link for point 7 (less instructions in chap 5 glibc). This is just one more line in "creating essentials symlinks and files". I agree that a link is better. - I'm not sure about point 3: building flex only once is tempting, but can the tests be run, and is flex the same as if rebuilt at the end of chap 6? I'll retry 3, 5 and 6 again to make sure, ... For 3: They are same (`diff` returns 0 for flex and libfl.so). But I'm using some CFLAGS w/o `-g` so the comparsion doesn't include debug information. For 6: Definitly OK. For 5: The configure script actually doesn't use pkg-config to find packages at all. - Point 1 improves only marginally the build time, but why not? Can we hold off on these changes for a week or so until we get BLFS built with gcc10? ... in the meantime we can get BLFS built with gcc 10 :). Now 7 is done (with a symlink), and 2 is ruled out. If there is no objection I'll do other. zstd? Go ahead. -- Bruce -- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] proposal: some improvements to LFS book
On 2020-05-15 15:09 +0800, Xi Ruoyao via lfs-dev wrote: > On 2020-05-11 23:05 +0800, Xi Ruoyao via lfs-dev wrote: > > On 2020-05-11 09:19 -0500, Bruce Dubbs via lfs-dev wrote: > > > On 5/11/20 8:23 AM, Pierre Labastie via lfs-dev wrote: > > > > On Mon, 2020-05-11 at 19:51 +0800, Xi Ruoyao via lfs-dev wrote: > > > > > I just redone LFS build for GCC-10.1.0. I proposed several > > > > > improvements during > > > > > the process: > > > > > > > > > > At first, some changes suggested by Firas: > > > > > > > > > > 1. Remove bzip2 in Chap. 5. No other changes needed. > > > > > > > > decreases the total number of SBUs by 0.1 :) why not, though > > > > > > > > > 2. Remove ncurses in Chap. 5. Move Chap. 6 readline after ncurses to > > > > > satisify > > > > > it. > > > > > Notes: > > > > > (1) Chap. 5 Python 3 can be built w/o ncurses, just lacking one > > > > > module we don't > > > > > need. > > > > > (2) We moved readline before bc to satisify GNU bc, but now Gavin's > > > > > bc doesn't > > > > > need readline. > > > > > > > > good point > > > > > > > > > (3) It slightly reduces the functionality of Chap. 5 bash. Long > > > > > command lines > > > > > won't be wrapped automatically anymore. > > > > > > > > It does much more than that if the terminfo database is not installed: > > > > no backspace (more exactly, backspace outputs only a space forward...) > > > > left and right arrows not functional. > > > > In short, no way to correct a typo > > > > > > > > can be Ok if scripting though > > So I'll not do that. In a recent thread we discovered gettext somehow depends on ncurses. So it should not be done, at all. > > > > > 3. Remove flex in Chap. 5. Move Chap. 6 flex before Binutils so > > > > > `ranlib` and > > > > > `ar` can link to libfl.so. It seems bison test suite does not > > > > > depends on flex > > > > > any more. > > > > > > > > bison chapter 6 will be built after flex anyway, if we do the above, so > > > > whether it depends on it or not is not important. > > > > > > > > > However Firas' other suggestions are proved to be impossible. Glibc > > > > > requires > > > > > bison, gzip, gettext, perl, texinfo, python, and xz (to be untarred) > > > > > so all of > > > > > them need to stay in Chap. 5. Util-linux can't be removed from Chap. > > > > > 5 due to > > > > > its circular dependency with systemd/eudev. > > > > > > > > > > And: > > > > > > > > > > 4. Move Chap. 6 zstd before GCC, so GCC can link to libzstd.so and > > > > > use zstd to > > > > > compress LTO stream. > > > > > > > > definitely to be done, independently on the other points. > > > > > > > > > 5. Remove PKG_CONFIG_PATH=/tools/lib/pkgconfig in Chap. 6 kbd. It > > > > > seems > > > > > unneeded now. > > > > > > > > > > 6. Remove PERL5LIB=$PWD/tests/ in Chap. 6 make. It is unneeded now. > > > > > > > > > > 7. Add: > > > > > > > > > >mkdir /tools/lib/locale > > > > >localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true > > > > > > > > > > into Chap. 5 Glibc. It will satisfy Chap. 6 man-db test. > > > > > > > > Or link /tools/share/locale/locale-archive->/usr/share/locale/locale- > > > > archive > > > > > > > > allows also all bison tests to pass > > > > > > > > > 8. Remove libctf{,-nobfd}.a (along with libbfd.a and libopcodes.a) in > > > > > "Cleaning > > > > > up" section. > > > > > > > > Independent on the other points and should be done for sure. > > > > > > > > > Are they OK to be committed into trunk? > > > > > > > > I'd say point 2 shouldn't not be committed, or only with some tweak of > > > > the terminfo database... > > > > > > > > among the other points: > > > > > > > > - 4 and 8 should be done for sure. > > > > - I've not tested 5 and 6, but I guess you have tested them, so go for > > > > them too > > > > - I'd rather use the link for point 7 (less instructions in chap 5 > > > > glibc). This is just one more line in "creating essentials symlinks and > > > > files". > > > > I agree that a link is better. > > > > > > - I'm not sure about point 3: building flex only once is tempting, but > > > > can the tests be run, and is flex the same as if rebuilt at the end of > > > > chap 6? > > > > I'll retry 3, 5 and 6 again to make sure, ... > > For 3: > > They are same (`diff` returns 0 for flex and libfl.so). But I'm using some > CFLAGS w/o `-g` so the comparsion doesn't include debug information. > > For 6: > > Definitly OK. > > For 5: > > The configure script actually doesn't use pkg-config to find packages at all. > > > > > - Point 1 improves only marginally the build time, but why not? > > > > > > Can we hold off on these changes for a week or so until we get BLFS > > > built with gcc10? > > > > ... in the meantime we can get BLFS built with gcc 10 :). Now 7 is done (with a symlink), and 2 is ruled out. If there is no objection I'll do other. -- Xi Ruoyao School of Aerospace Science and Technology, Xidian University -- http://lists.linuxfromscratch.org/listinfo/lfs-de