79 Commits

Author SHA1 Message Date
Zeckmathederg
3463ee37df Merge branch 'trunk' into multilib 2026-05-11 17:05:20 -06:00
Bruce Dubbs
7199dfd2a0 Reword the warning in 'Host System Requirements' 2026-05-08 14:02:57 -05:00
Xi Ruoyao
7aad05e6c9 hostreqs: fix the note about newer GCC version
Another "stupid I" issue.
2026-05-08 23:20:45 +08:00
Xi Ruoyao
5ec6ec66b0 reword for the "rolling release" warning
The original warning is inaccurate/misleading in many aspects.

The critical thing is GCC version.  There's nothing to do with the
OpenSSL version (as nothing in ch5 or 6 ever uses OpenSSL).  There's
also nothing to do with the kernel "major" version as the "major"
version is just an arbitary choice to make the minor version not greater
than 19 by Linus.  It does not imply any aspect of the ABI, unlike the
"major" version in a SONAME or something.  The inablility to build Glibc
with Linux 7.0 API headers is simply a coincidence.  If another API
header change happens in Linux 7.6, it may break Glibc build as well.

And I cannot see how the Linux API header version of the host distro can
ever affect LFS.  LFS builds ch05 Glibc with its own Linux API header
installed just before Glibc, not the installation from the host distro.
So Glibc should just build fine with the 6.19 API header just installed
into $LFS/usr/include.  I know it would fail to build with Linux 7.0 API
headers but why it can ever find one - if it really finds the host
distro's API header instead of the one in $LFS/usr/include we have a
serious bug and it will have to be fixed instead of papered over by
limiting the host distro.

I also know the req test will fail if the host distro has Linux 7.0 but
I've no idea if the test failure is really related to the "massive
breakage of rseq" (I assume it refers to the jemalloc breakage?  But
AFAIK nothing in LFS uses jemalloc).  And the glibc upstream has just
fixed the test file simply.  We always treat test-file-only fixes as
"known failures" instead of "bugs requiring a fix" unless it aborts the
entire test suite too early.  Add a note in the glibc page to note there
can be additional failures with Linux >= the version we use for LFS.

And there's also nothing to do with the "rolling release."  For example,
you cannot build LFS 12.0 on LFS 12.4 because ch06 bash uses the host
compiler to build some code generators, and those generators are not
compatible with C23 (the default of GCC 15.2 shipped by LFS 12.4).  LFS
12.4 is definitely not a rolling release...

A rolling release just catches the breakage earlier and we shouldn't
blame it to do so.  IMO we should avoid the unfair accusion on rolling
distros as the same unfair accusion is often towards LFS (notably the
way we develop BLFS is very similar to a rolling release distro).

In the hostreqs page we already states building with a GCC newer than
the version specified for LFS in the book is "not tested and not
recommended."  I don't know why people must ignore it (AFAIU "not
recommended" in LFS means "not supported; don't report any bug" already:
for example those "recommended" dependencies in BLFS).  Make it more
explicit with assertive language and <warning>.
2026-05-06 13:14:54 +08:00
Zeckmathederg
f186938ff0 Merge branch 'trunk' into multilib 2026-05-03 13:02:53 -06:00
Zeckmathederg
8d92bc4025 Mention failures with rolling distros.
Twice in the past span of a year, Arch Linux has updates to new versions
of software rather quickly that causes LFS to be impossible without
modifications. The first instance was updating to GCC-15.1, of which
that disaster may be repeated with GCC-16.1. The second, most recent,
instance is that they updated to Linux-7. This changed behavior of
rseq, tables, and the ABI feature from 32 to 33, which messes with
Glibc, meaning users will need to use a host that has Linux <= 6.19.x
for now.

This distructive nature needs to be explained to the users to help to
prevent them from using broken hosts.

So many issues have popped up over on Discord and Reddit, and as an
aside and personal vent, I've been getting pretty tired of it each time
Arch pulls off something like this when it clearly isn't time yet.

The Gentoo GUI LiveCD (and Gentoo itself in general) is a good example
of how to treat the software set, and too not update too early.
2026-05-03 12:56:02 -06:00
Douglas R. Reno
960d10a458 Merge branch 'trunk' into multilib 2026-04-30 14:27:40 -05:00
Xi Ruoyao
fa8ce85b31 hostreqs: missing punct 2026-05-01 01:47:13 +08:00
Xi Ruoyao
64fe812f2a hostreqs: mention creating ESP needs dosfstools 2026-04-30 11:16:23 +08:00
Zeckmathederg
ab6e014a2d Removed x32-bit support for ML.
In most cases, there is no need for x32-bit support unless the main
architecture being used is x32-bit support, not 64-bit. Please read the
x32-bit removal announcement for more information if curious.
2026-03-19 16:46:02 -06:00
Thomas Trepl
6fac5d60ac Merge branch 'trunk' into multilib 2025-08-29 07:59:32 +02:00
Xi Ruoyao
3ce9115c4f hostreqs: Bump the GCC version in the check script too
I forgot this :(.
2025-08-23 19:14:02 +08:00
Xi Ruoyao
8f6ef36f74 hostreqs: Bump minimum GCC version to 5.4
GCC-15 has bumped the C++ standard to C++14, and the required GCC
version to 5.4 because 5.3 and earlier may generate some wrong code with
C++14 and constexpr (that GCC-15 code base uses).
2025-08-23 17:57:47 +08:00
Thomas Trepl
5fe13d78f5 Automatic merge of trunk into multilib 2024-12-13 00:30:10 +01:00
Xi Ruoyao
6d36d72175 hostreq: Bump min-kernel to 5.4
4.19 LTS is EOL now.
2024-12-12 14:37:56 +08:00
Thomas Trepl
faf4963f4c Fix some typos 2024-11-07 14:48:54 +01:00
Xi Ruoyao
0b4c2e218b multilib: Update host kernel requirement for multilib
Switch to the new kernel config rendering infrastructure.  Remove the
"IA32 a.out support" which is already removed and was completely useless
for multilib even before the removal.  Mention the new "IA32 emulation
disabled by default" option.  Separate mx32 and m32 kernel
configuration.  Fix the consequences building a multilib when lacking
the corresponding kernel feature.
2024-09-08 14:21:09 +08:00
Thomas Trepl
5569a3e112 Automatic merge of trunk into multilib 2024-02-03 00:30:21 +01:00
Xi Ruoyao
1e180412f9 hostreq: Raise min-kernel to 4.19
4.14 is no longer supported by the upstream since Jan 2024.
2024-02-02 09:03:51 +08:00
Thomas Trepl
ac1639c2cc Automatic merge of trunk into multilib 2024-01-31 20:23:41 +01:00
Xi Ruoyao
ee950a5e0d More <quote> clean up
Use <quote> instead of '"' if possible.  Use <literal>,
<computeroutput>, etc. instead of <quote> if possible.  Replace
<quote>alpha</quote> with a UTF-8 Greek alpha character.

BTW decorate ".link" with <filename class='extension'>.
2024-01-28 20:53:47 +08:00
Thomas Trepl
f6a43f612c Automatic merge of trunk into multilib 2024-01-27 00:30:17 +01:00
Pierre Labastie
360fdfca9c Fix punctuation in quotes, and quote signs
- period and comma inside quotes
- " to <quote>
- some " to <literal> when it is a var value
2024-01-26 18:28:53 +01:00
Thomas Trepl
5d2d864a97 Automatic merge of trunk into multilib 2024-01-19 00:30:10 +01:00
Pierre Labastie
7152faa5fa Change all xml files to utf-8 encoding 2024-01-18 20:53:23 +01:00
Thomas Trepl
aebd449557 Automatic merge of trunk into multilib 2023-11-14 00:30:18 +01:00
Xi Ruoyao
e70bf8f4f4 hostreqs: Bump Coreutils minimal version to 8.1 and check for nproc
We'll use nproc for setting MAKEFLAGS and TESTSUITEFLAGS.  And if nproc
is not available, we'll end up with "MAKEFLAGS=-j" which is very
dangerous because it allows make to spawn infinite number of jobs.
Check it early.

The nproc program is added in Coreutils 8.1 so we need to bump the
minimal version.
2023-11-13 21:00:03 +08:00
Thomas Trepl
e6e2e70d0c Automatic merge of trunk into multilib 2023-09-18 00:30:18 +02:00
Xi Ruoyao
808bc9406b hostreqs: Raise GCC minimal version to 5.2
Pass 1 GCC FTBFS with system GCC 5.1.

Link: https://gcc.gnu.org/PR65801
Link: https://lists.linuxfromscratch.org/sympa/arc/lfs-support/2023-09/msg00005.html
2023-09-17 19:54:22 +08:00
Thomas Trepl
c931e9dedd Automatic merge of trunk into multilib 2023-09-03 00:30:12 +02:00
Xi Ruoyao
1ebfa8e664 pdf: Allow breaking pages in version-check and kernel configuration
They are very long <screen> or <note>.  By default they are attributed
"keep-together.within-column = always", override it to allow line break.

Fixes #5336.

Link: http://www.sagehill.net/docbookxsl/PageBreaking.html
2023-09-02 14:17:17 +08:00
Thomas Trepl
acbe862dc5 Automatic merge of trunk into multilib 2023-08-30 00:30:09 +02:00
Xi Ruoyao
4b1b79442c hostreqs: Raise texinfo minimal version to 5.0
Binutils-2.41 FTBFS with texinfo-4.x.  I've tested 5.0 and it works.

Link: https://sourceware.org/bugzilla/show_bug.cgi?id=30703
2023-08-30 00:32:30 +08:00
Thomas Trepl
48ac979ab4 Automatic merge of trunk into multilib 2023-06-06 00:30:09 +02:00
Xi Ruoyao
0f18f2b121 housekeeping after min-kernel bump
Update the rationale for min-kernel in hostreqs.  Add a note in
general.ent about the EOL of current min-kernel.  Realign the
backslashes in glibc instructions.
2023-06-05 23:20:48 +08:00
Thomas Trepl
db84777ce9 Automatic merge of trunk into multilib 2023-03-11 00:30:10 +01:00
Bruce Dubbs
25cd02b9db Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2023-03-09 19:51:42 -06:00
Bruce Dubbs
6e4dfa7528 Tweak kernel version in host requirements 2023-03-09 19:51:31 -06:00
Thomas Trepl
ce49ad6473 Automatic merge of trunk into multilib 2023-03-08 18:17:41 +01:00
Xi Ruoyao
835e40ce16 Adjustments for /dev/pts
1. Declare UNIX98 PTY requirement in host system requirements and check
   it in the script.  All desktop or server distros should have it now,
   but let's stop anyone from building on a embedded distro w/o UNIX98
   PTY early...
2. Use Expect test suite as a guard against mishandled $LFS/dev/pts.
3. No need to test the basic function of Expect in Binutils anymore
   because if ($LFS)/dev/pts is not good, the Expect test suite would
   have failed.
2023-03-08 11:25:48 +08:00
Thomas Trepl
d09e490fb2 Automatic merge of trunk into multilib 2023-03-05 11:16:29 +01:00
Thomas Trepl
4e897cf409 Fix conflicts 2023-03-05 11:14:49 +01:00
Xi Ruoyao
271c856538 hostreqs: Use &min-kernel; for kernel version 2023-03-05 15:26:44 +08:00
Xi Ruoyao
e39d2aa9df hostreqs: Remove commented out line 2023-03-05 15:22:24 +08:00
Xi Ruoyao
b789d88195 hostreq: Minor script adjustment
- Remove an extra whitespace breaking shebang (though our instruction
  does not use the shebang).
- Adjust the regex to allow several letters after the version number,
  and match grep version to the text.
- Raise Coreutils to 7.0 (for the host requirement script itself).  It
  was released in 2008 so I don't think it's a problem.
- Add a colon after the text "Compiler check" to match "Aliases:".
- Use grep -o instead of sed to make kernel version check simpler.
2023-03-05 10:01:40 +08:00
Bruce Dubbs
140e9a445d q 2023-03-04 16:26:31 -06:00
Thomas Trepl
23c21ef00a Automatic merge of trunk into multilib 2023-02-28 18:15:51 +01:00
Xi Ruoyao
9547b2e7f8 hostreqs: Remove "required by udev" for kernel
We don't run the newly built udev daemon before rebooting to LFS kernel.
2023-02-28 14:59:19 +08:00
Thomas Trepl
b6c69478d1 Automatic merge of trunk into multilib 2023-02-27 19:01:16 +01:00
Bruce Dubbs
0ba2ee5a1f Bump minimum gcc requirement to 5.1 2023-02-27 09:46:44 -06:00