From 73b288171c0e6d0632554515930cf3bc68638129 Mon Sep 17 00:00:00 2001 From: Sergio Date: Mon, 14 Sep 2026 01:32:19 +0000 Subject: [PATCH] =?UTF-8?q?libical=20y=20evolution-data-server:=20dos=20ro?= =?UTF-8?q?tas=20m=C3=A1s=20del=20censo=20=E2=80=94=20y=20una=20cae=20enla?= =?UTF-8?q?zando=20una=20.so,=20no=20un=20binario?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Segunda tanda del censo con `verificar-repro.sh`, esta vez sobre `poppler-glib` y las dos recetas CMake de la cola de GNOME: **2 de 3 no construyen**. Con esto el censo va en **7 rotas de 18 barridas**, todas por el mismo crash del `lld` de zig con el `--dependency-file` de CMake ≥3.27. ⚠ **`libical` cae enlazando `libical.so` — una librería COMPARTIDA, no un ejecutable.** Eso termina de enterrar el predictor barato que intenté ayer («falla la que instala binarios», 12 aciertos de 14): el crash puede estar en CUALQUIER link del build. Ni ejecutables instalados, ni sólo ejecutables: cualquier link. `evolution-data-server` muere en `camel-lock-helper` y `camel-gpg-photo-saver`, y necesita su propia perilla además de la de su dep — arreglar `libical` no la arregla, porque el fallo está en SU link. Las dos estaban selladas y rotas a la vez. El artefacto tapaba que la cola de GNOME ya no se puede reconstruir entera. --- recipes/incoming-gnome/evolution-data-server.toml | 6 ++++++ recipes/incoming-gnome/libical.toml | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/incoming-gnome/evolution-data-server.toml b/recipes/incoming-gnome/evolution-data-server.toml index 6dd1ac29..01cc64b0 100644 --- a/recipes/incoming-gnome/evolution-data-server.toml +++ b/recipes/incoming-gnome/evolution-data-server.toml @@ -8,6 +8,11 @@ # su cabecera hasta promete "Searches for Mozilla's NSS and NSPR libraries, unless -DENABLE_SMIME=OFF # is used"… pero en 3.56.2 ese guard NO EXISTE: `include(FindSMIME)` es incondicional # (CMakeLists.txt:303) y el fichero nunca vuelve a mirar la variable. Se cableó el guard que faltaba +# ⚠ **`CMAKE_LINK_DEPENDS_USE_LINKER=OFF`: sin esto NO CONSTRUYE HOY.** Estaba sellada y rota a la +# vez; el link de `camel-lock-helper` y `camel-gpg-photo-saver` muere con +# `Error running link command: Segmentation fault`. El `lld` de zig 0.16.0 segfaultea con el +# `--dependency-file` que CMake ≥3.27 emite. Ver `recipes/dwarves.toml`, donde se bisecó la línea de +# enlace literal, y `libical.toml`, que es su dep y tenía el mismo problema. # (tres líneas con el mismo `return()` que el fichero ya usa en :56) y el configure pasó. # # Y el build igual cortó, en el 11%: src/camel/camel.c incluye , "nss.h" y SIN @@ -102,6 +107,7 @@ s = s.replace(anchor, '\t\tCOMMAND ${CMAKE_COMMAND} -E copy ${_source} ${_target open(p, 'w').write(s) PY PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages cmake -S . -B build \ + -DCMAKE_LINK_DEPENDS_USE_LINKER=OFF \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_INTROSPECTION=ON \ diff --git a/recipes/incoming-gnome/libical.toml b/recipes/incoming-gnome/libical.toml index 5b1610db..5d97037f 100644 --- a/recipes/incoming-gnome/libical.toml +++ b/recipes/incoming-gnome/libical.toml @@ -46,7 +46,15 @@ target = "x86_64-linux-musl" link = "dynamic" [build.phases] -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DSHARED_ONLY=ON -DICAL_GLIB=ON -DGOBJECT_INTROSPECTION=ON -DICAL_GLIB_VAPI=OFF -DWITH_CXX_BINDINGS=OFF -DUSE_BUILTIN_TZDATA=ON -DICAL_BUILD_DOCS=OFF -DLIBICAL_BUILD_TESTING=OFF -DICAL_ERRORS_ARE_FATAL=OFF" +# ⚠ **`CMAKE_LINK_DEPENDS_USE_LINKER=OFF`: sin esto NO CONSTRUYE HOY.** Estaba sellada y rota a la +# vez. El `lld` de zig 0.16.0 **segfaultea con el `--dependency-file` que CMake ≥3.27 mete en la +# línea de enlace** (`Error running link command: Segmentation fault`). Ver `recipes/dwarves.toml`, +# donde se bisecó la línea literal. +# +# ⚠ Y acá el crash cae enlazando una **librería COMPARTIDA** (`libical.so`), no un ejecutable — que +# es lo que termina de descartar el predictor «sólo falla lo que instala binarios»: el fallo puede +# estar en cualquier link del build. +configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages cmake -S . -B build -DCMAKE_LINK_DEPENDS_USE_LINKER=OFF -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DSHARED_ONLY=ON -DICAL_GLIB=ON -DGOBJECT_INTROSPECTION=ON -DICAL_GLIB_VAPI=OFF -DWITH_CXX_BINDINGS=OFF -DUSE_BUILTIN_TZDATA=ON -DICAL_BUILD_DOCS=OFF -DLIBICAL_BUILD_TESTING=OFF -DICAL_ERRORS_ARE_FATAL=OFF" compile = "PYTHONPATH=/usr/lib/python3.12/site-packages cmake --build build -j\"$(nproc)\"" install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out cmake --install build"