archlinux-s390x/patches/pkgbuild
Mathieu Benoit 115ea48fb4 [FIX] gcc: bound bootstrap parallelism; libmagic and patchelf on the host
gcc failed on what looked like a missing header:

  /usr/include/strings.h:23:10: fatal error:
    .../gcc-build/prev-gcc/include/stddef.h: No such file or directory

The file was PRESENT when the tree was inspected afterwards. It is not
missing: it is generated by a rule that another rule consumes without
declaring the dependency, and with MAKEFLAGS=-j16 sixteen jobs win that
race often enough to fail. Read as an absent header, it sends you
hunting through include paths for nothing -- and past a set of host
symlinks that were, this time, innocent.

The bound goes into build() inside the PKGBUILD. My first attempt
exported MAKEFLAGS from the hook, which cannot work: hooks run in their
own bash process and never reach makepkg. gcc is the only package here
that bootstraps itself three times, so the limit is local to it.

util-linux wanted libmagic; curl wanted patchelf. Both installed.

--- FR ---

gcc echouait sur ce qui ressemblait a un en-tete manquant :

  /usr/include/strings.h:23:10: fatal error:
    .../gcc-build/prev-gcc/include/stddef.h: No such file or directory

Le fichier etait PRESENT a l inspection de l arbre apres coup. Il ne
manque pas : il est produit par une regle qu une autre consomme sans
declarer la dependance, et avec MAKEFLAGS=-j16 seize taches gagnent
cette course assez souvent pour echouer. Lu comme un en-tete absent, il
fait fouiller les chemins d inclusion pour rien -- et soupconner des
liens symboliques d hote qui, cette fois, etaient innocents.

La borne va dans build(), a l interieur du PKGBUILD. Ma premiere
tentative exportait MAKEFLAGS depuis le crochet, ce qui ne peut pas
fonctionner : les crochets tournent dans leur propre processus bash et
n atteignent jamais makepkg. gcc est le seul paquet ici a s amorcer
trois fois, la limite lui reste donc locale.

util-linux reclamait libmagic ; curl reclamait patchelf. Poses tous deux.

Assisted-by: Claude Opus 5
2026-08-16 07:13:33 -04:00
..
binutils.sh [ADD] port patches: gcc front ends, binutils gold, libtool multilib 2026-08-15 21:01:18 -04:00
curl.sh [ADD] TODO.md: track every divergence from upstream Arch 2026-08-16 05:47:47 -04:00
gcc.sh [FIX] gcc: bound bootstrap parallelism; libmagic and patchelf on the host 2026-08-16 07:13:33 -04:00
glibc.sh [ADD] devtools stand-ins, and lib32 removal for glibc and gcc 2026-08-15 21:15:01 -04:00
libassuan.sh [FIX] canonical CHOST, and a reachable libassuan source 2026-08-16 00:45:50 -04:00
libtool.sh [ADD] port patches: gcc front ends, binutils gold, libtool multilib 2026-08-15 21:01:18 -04:00