Re: [lfs-dev] proposal: some improvements to LFS book

2020-05-29 Thread Bruce Dubbs via lfs-dev

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

2020-05-29 Thread Xi Ruoyao via lfs-dev
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