brotli y json-c: selladas y rotas a la vez — las dos baratas del censo, arregladas
El barrido con `verificar-repro.sh` sobre las 15 recetas CMake baratas del corpus dio **5 que no construyen hoy**. Éstas son las dos cuyo arreglo no cuesta nada (radio 0 y 3 rebuilds). Diagnosticada `json-c` en vez de suponerla: apartando su artefacto y reconstruyendo con la salida capturada, muere con el mismo `Error running link command: Segmentation fault` que `dwarves` y que los `protoc-gen-upb*` de protobuf. Un `-DCMAKE_LINK_DEPENDS_USE_LINKER=OFF` en cada una y listo — el `lld` de zig 0.16.0 segfaultea con el `--dependency-file` que CMake ≥3.27 emite. ⚠ **Lo que importa de este commit no son las dos recetas: es que el fallo no era un caso aislado.** Cuando apareció en protobuf lo esquivé con `compiler = "gcc"` creyendo que era cosa de esos plugins. Ya van CINCO proyectos sin relación entre sí con el mismo crash, y otros tres medidos y pendientes. `crun` cayó a deuda (json-c es dep suya) y se reconstruyó: sigue siendo estático con 0 NEEDED y **vuelve a arrancar un contenedor de verdad** con el busybox del corpus como rootfs. Las tres REPRODUCEN bit a bit. Queda planteado con el número delante, sin arrancarlo: los otros tres del censo son `libtiff-shared` (12 rebuilds), `libjpeg-turbo` (17) y `libjpeg-turbo-shared` (23) — ~52 en total y tocan los stacks gráficos de los escritorios. Y el censo cubrió 15 de las 23 CMake del corpus y NINGUNA de las ~130 de las colas: el número real de rotas es mayor que 5.
This commit is contained in:
@@ -88,3 +88,16 @@ ia-modelo-chat 09cea3f0fce85afa1c26d4d7591058f5b019c34a8c961531218d76bad0ff19a3
|
||||
firefox-pgo-profile 3647c6be5f37b641620c93840eb86f4c8b7d655d2c1f5c67a97901337607c720 2026-09-12 reproduce
|
||||
abseil-cpp 8faf0d793ce7db5c36da139ce36564cb62b4e1e9dd033febdbe7e1f2810d3c89 2026-09-12 reproduce
|
||||
protobuf 3de99c8fa1387023468a4164ea936948e5d8ade94ce6bd98ad215efd66080519 2026-09-12 reproduce
|
||||
compiler-rt-profile 7f25fdc9abbcedff14dcc97c0b5cb4ff9894a4044bc0f05e356d0c46465b757e 2026-09-12 reproduce
|
||||
jansson 9b8f0ee96731ce2e73ba3b285c22cc3d4ccfcac81732e090105511a4f88505fc 2026-09-12 reproduce
|
||||
libtiff 0b0ac684c8ed0d9a89c78fe8415e14536dff1ba5db2c33069a104aba9aeb64bf 2026-09-12 reproduce
|
||||
mbedtls 87ee2b1551be7aa0b96cf6c7b871974295a4799f32f08645447325a832e1c973 2026-09-12 reproduce
|
||||
nlohmann-json 21e5be81539176ac4d09836c695c019b08e38f7eb16c9f31b3266cb5cda47507 2026-09-12 reproduce
|
||||
utf8proc 17cb7a07342a89032731b9bb2efafba7d5521e7832d11ff767cafd3731c71669 2026-09-12 reproduce
|
||||
vulkan-headers 7731a012db7de92a21ac7005125180e49f37955d1446fb4b3246ebd6c4844e7b 2026-09-12 reproduce (tras poner al día un artefacto derivado)
|
||||
wasi-compiler-rt a3fe63d11107a9dd6325f026eb5c80916c7642ec89426563274b0929ede8fc5e 2026-09-12 reproduce
|
||||
wasi-libcxx 838a955780dbd107376a04a4c545c457a9bfcd5789fca73bd9515cdfbf765cbc 2026-09-12 reproduce
|
||||
zlib-ng 487c2af702ce8ef41dc8232348aa0bd512734bc63330656ac6c9bd53e9e2a17e 2026-09-12 reproduce
|
||||
brotli ee682e674ad857b4648e7cbee21bdace961c034a857a36528be266c1af89aac9 2026-09-12 reproduce
|
||||
json-c e56792e865a17c8bbd8c4279c0d3d8a0b550e24dc2b0899b44a15be2f1f68d72 2026-09-12 reproduce
|
||||
crun 5e7b76880898197a4ee149f0c266b07798b7af42ecf426524e59e408f3c7f7dc 2026-09-12 reproduce
|
||||
|
||||
|
+7
-1
@@ -22,7 +22,13 @@ flags = []
|
||||
|
||||
[build.phases]
|
||||
# CMAKE_INSTALL_LIBDIR=lib: el lab usa /usr/lib (no /usr/lib64) → pkg-config de los consumidores.
|
||||
configure = "cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF"
|
||||
# ⚠ **`CMAKE_LINK_DEPENDS_USE_LINKER=OFF`: sin esto NO CONSTRUYE HOY.** Estaba sellada y rota a la
|
||||
# vez — el artefacto tapaba que el link muere con `Error running link command: Segmentation fault`.
|
||||
# La causa no es de esta receta: el `lld` de zig 0.16.0 **segfaultea con el `--dependency-file` que
|
||||
# CMake ≥3.27 mete en la línea de enlace**. Bisecado sobre la línea literal de `dwarves`
|
||||
# (`build/CMakeFiles/<target>.dir/link.txt`): quitar `-static` no cambia nada, quitar
|
||||
# `--dependency-file` lo arregla. Ver `recipes/dwarves.toml` para el detalle.
|
||||
configure = "cmake -S . -B build -DCMAKE_LINK_DEPENDS_USE_LINKER=OFF -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF"
|
||||
compile = "cmake --build build"
|
||||
install = "DESTDIR=/out cmake --install build"
|
||||
|
||||
|
||||
+7
-1
@@ -15,7 +15,13 @@ link = "static"
|
||||
flags = []
|
||||
|
||||
[build.phases]
|
||||
configure = 'cmake -B build -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release'
|
||||
# ⚠ **`CMAKE_LINK_DEPENDS_USE_LINKER=OFF`: sin esto NO CONSTRUYE HOY.** Estaba sellada y rota a la
|
||||
# vez — el artefacto tapaba que el link muere con `Error running link command: Segmentation fault`.
|
||||
# La causa no es de esta receta: el `lld` de zig 0.16.0 **segfaultea con el `--dependency-file` que
|
||||
# CMake ≥3.27 mete en la línea de enlace**. Bisecado sobre la línea literal de `dwarves`
|
||||
# (`build/CMakeFiles/<target>.dir/link.txt`): quitar `-static` no cambia nada, quitar
|
||||
# `--dependency-file` lo arregla. Ver `recipes/dwarves.toml` para el detalle.
|
||||
configure = 'cmake -B build -DCMAKE_LINK_DEPENDS_USE_LINKER=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release'
|
||||
compile = 'cmake --build build'
|
||||
install = 'DESTDIR=/out cmake --install build'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user