[FIX] help2man was uninstallable, which stopped the whole pass
Stage-2 pass two never reached its first package: unable to satisfy dependency 'perl-locale-gettext' required by help2man stage2: populate failed help2man had built cleanly the moment before. Stage 1 builds with --nodeps, so a successful build says nothing about whether the repository is complete -- and this is the failure that says it out loud, by refusing to assemble the chroot. Asked the resolver for the whole closure rather than fixing one name and trying again: pacman stops at the first unsatisfiable dependency, so the count matters more than the first line. One gap, then 148 packages resolved with --nodeps off, up from 101 before the tools went in. --- FR --- La deuxième passe de l'étage 2 n'a jamais atteint son premier paquet : unable to satisfy dependency 'perl-locale-gettext' required by help2man stage2: populate failed help2man venait de se bâtir sans une erreur. L'étage 1 bâtit avec --nodeps : une construction réussie ne dit rien de la complétude du dépôt — et voici l'échec qui le dit tout haut, en refusant d'assembler le chroot. Le résolveur a été interrogé sur toute la fermeture, plutôt que de corriger un nom et de réessayer : pacman s'arrête au premier manque, donc le compte importe plus que la première ligne. Un seul trou, puis 148 paquets résolus avec --nodeps éteint, contre 101 avant l'ajout des outils. Assisted-by: Claude Opus 5
This commit is contained in:
parent
390f3fabda
commit
c164b59ca6
2 changed files with 58 additions and 0 deletions
48
TODO.md
48
TODO.md
|
|
@ -212,6 +212,54 @@ target grows a graphics stack.
|
|||
|
||||
## Architectural
|
||||
|
||||
### The baseline CPU is z13 — decided, not inherited
|
||||
|
||||
`makepkg.conf` in the stage-2 chroot and `--with-arch` in `patches/pkgbuild/gcc.sh`.
|
||||
|
||||
zlib stopped on
|
||||
|
||||
contrib/crc32vx/crc32_vx.c:205:10: error:
|
||||
'__builtin_s390_vec_unpackl' requires '-mvx'
|
||||
|
||||
*after* its own configure had detected vector support and defined
|
||||
`-DHAVE_S390X_VX`. Both halves were right, which is what made it worth
|
||||
measuring rather than patching:
|
||||
|
||||
| | `--with-arch` | default `-march` |
|
||||
|---|---|---|
|
||||
| host gcc (Ubuntu) | `z13`, tune `z16` | `arch11` = z13, 2015 |
|
||||
| our gcc | *nothing* | `arch5` = z900, **2000** |
|
||||
|
||||
Arch's PKGBUILD names no s390x baseline because Arch has no s390x, so GCC fell
|
||||
back to the oldest machine the target could possibly be. Every distribution
|
||||
picks one of these. **This port had never said which, and silence chose the year
|
||||
2000.**
|
||||
|
||||
z13 because that is what Ubuntu s390x — the host distribution — already
|
||||
requires: adopting it cannot stop anything from running that runs today.
|
||||
|
||||
**Two places, two different questions.** `makepkg.conf` says how this
|
||||
distribution is *compiled*. gcc's `--with-arch` says what the compiler we
|
||||
*ship* assumes when someone builds on the target with no flags at all. Setting
|
||||
only the first leaves a gcc that quietly reverts to arch5.
|
||||
|
||||
### A third failure shape: the host is behind
|
||||
|
||||
Contamination and closure gaps were the two known kinds. libxslt is neither:
|
||||
|
||||
configure: error: Version 2.14.5 found. You need at least libxml2 2.15.1
|
||||
|
||||
2.14.5 is Ubuntu's libxml2; ours is 2.15.3. Nothing is contaminated and nothing
|
||||
is missing — the package simply cannot be built on this host, at any point,
|
||||
because the host is older than the package requires. It is built BY stage 2
|
||||
instead of installed into it, and hoisted in `STAGE2_FIRST` so it precedes the
|
||||
package that needs it. A stage-1 run is *expected* to report it as failed.
|
||||
|
||||
Worth watching for: any Arch package whose dependency floor has moved past
|
||||
Ubuntu's version belongs in this category, and the error will always read like
|
||||
a missing dependency rather than an old one.
|
||||
|
||||
|
||||
Nothing to restore here. Listed so nobody spends an afternoon rediscovering
|
||||
why.
|
||||
|
||||
|
|
|
|||
|
|
@ -225,6 +225,16 @@ STAGE1_PACKAGES=(
|
|||
inetutils
|
||||
swig
|
||||
help2man
|
||||
# help2man's own closure. Stage 1 builds with --nodeps, so help2man built
|
||||
# cleanly and was then UNINSTALLABLE -- populate stopped the whole of stage-2
|
||||
# pass two on
|
||||
#
|
||||
# unable to satisfy dependency 'perl-locale-gettext' required by help2man
|
||||
#
|
||||
# which is the routine consequence of --nodeps and the reason RESOLVE exists
|
||||
# in test-chroot.sh: a build succeeding says nothing about whether the
|
||||
# repository is complete.
|
||||
perl-locale-gettext
|
||||
# libxslt stays in the list because it is part of the distribution, but
|
||||
# STAGE 1 CANNOT BUILD IT:
|
||||
#
|
||||
|
|
|
|||
Loading…
Reference in a new issue