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

Reply via email to