From fe9e06de9e16e96617065d44ac5029b2033b2383 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 21 Aug 2026 13:08:49 +0000 Subject: [PATCH] =?UTF-8?q?lab:=20musl-libintl=20=E2=80=94=20el=20rootfs?= =?UTF-8?q?=20traia=20los=20runtimes=20pero=20no=20`libintl.h`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Decision del usuario. La reconstruccion en la granja destapo que toda la zona grafica del corpus muere en cadena con /usr/include/glib-2.0/glib/gi18n-lib.h:25:10: fatal error: 'libintl.h' file not found y con ella gdk-pixbuf, appstream, gjs, gdm, mutter, gnome-shell, wireplumber, sway, swaybg, swaylock, xdg-desktop-portal... El header no estaba en NINGUNA de las dos maquinas (labs identicos, mismo sha256), asi que no era divergencia de worker: era el corpus. En Alpine `libintl.h` NO lo trae musl-dev: lo trae `musl-libintl`, que es justo lo que faltaba. Verificado: `checking for libintl.h... yes`, y glib, python3, meson y el resto de la base ya sellan contra el lab nuevo. El apk va contra EDGE, que es rodante, asi que lo que importa no es solo que funcione sino que NO ARRASTRE: el lock del toolchain cambia en UNA linea (+musl-libintl-1.2.6-r2), ni una version movida. La vez anterior un `apk add` se llevo de propina ncurses 6.5→6.6 y readline 8.3.1→8.3.3. Se eligio `musl-libintl` y no `gettext-dev` a proposito: el segundo mete `.pc` que compiten con los del store en la resolucion de pkg-config, que es exactamente como freetype autodetecto bzip2 y tumbo fontconfig con 27 recetas detras. Este no trae ninguno. `openssl-dev` sigue FUERA, respetando el veto de 6ab29b1: el host-tool del kernel enlaza el openssl del corpus desde el overlay. python3 sigue sin `_ssl` ⇒ gjs/gdm/spidermonkey siguen cayendo por esa via, que es otro frente. Coste asumido: el corpus se re-hashea otra vez. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Xd5DComN9Nu47TBpYMBHBn --- docs/state/lab-toolchain.lock | 1 + scripts/bootstrap-devfs.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/state/lab-toolchain.lock b/docs/state/lab-toolchain.lock index 5cadec8a..13bc7096 100644 --- a/docs/state/lab-toolchain.lock +++ b/docs/state/lab-toolchain.lock @@ -81,6 +81,7 @@ mpc1-1.3.1-r1 mpfr4-4.2.2-r0 musl-1.2.6-r2 musl-dev-1.2.6-r2 +musl-libintl-1.2.6-r2 musl-utils-1.2.5-r23 ncurses-dev-6.6_p20260516-r0 ncurses-terminfo-base-6.6_p20260516-r0 diff --git a/scripts/bootstrap-devfs.sh b/scripts/bootstrap-devfs.sh index 5e799677..2bef14aa 100755 --- a/scripts/bootstrap-devfs.sh +++ b/scripts/bootstrap-devfs.sh @@ -79,7 +79,7 @@ mkdir -p "$DEVFS" "$TOOLS" "$CACHE" "$WORK" # `--from-scratch` recupera el camino viejo (minirootfs + apk). Es como se FABRICA una imagen nueva: # ./scripts/bootstrap-devfs.sh --from-scratch && ./scripts/lab-image.sh --crear # y después se pinea el sha nuevo acá abajo. Reconstruir el corpus es el precio de ese cambio. -LAB_IMAGE_SHA256="${LAB_IMAGE_SHA256:-3c9c1ef3e88a3fea998e6a7ec036d7a573359f8d1c464565f9773a0f19aa1fff}" +LAB_IMAGE_SHA256="${LAB_IMAGE_SHA256:-8ae9792aa66477457bf2f69287838fb68707964904a81e5f70d08feed9ec9ca2}" if [[ $FROM_SCRATCH -eq 0 ]] && [[ ! -f "$ROOTFS/bin/busybox" ]]; then log "rootfs: trayendo la imagen pineada del lab"