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
>
> 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'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?
- Point 1 improves only marginally the build time, but why not?
Regards
Pierre
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page