firefox: quitar --enable-linker=lld — el sondeo de Mozilla no reconoce a zig
Primer intento de build: configure murió con «Could not use lld as linker».
NO era que faltara lld. toolchain.configure sondea con
`$CC -fuse-ld=lld -Wl,--version` y clasifica por la SALIDA, buscando «mold»,
«GNU ld», «GNU gold» o «LLD». zig se identifica como `zig ld 0.16.0`, que no casa
con ninguno ⇒ kind = "unknown".
«unknown» por sí solo NO rompe: el código lo acepta explícitamente. Lo que rompe
es PEDIR el linker por nombre, porque eso vuelve fatal cualquier fallo del sondeo:
if linker: result = try_linker(linker)
if result is None: die("Could not use %s as linker")
Sin el flag, unas líneas más abajo Firefox prueba lld igual —c_compiler.type es
clang y la versión 21.1.0 pasa el umbral de 15.0— y si el sondeo falla sigue a
gold y al linker por defecto, que es exactamente el lld que zig trae adentro.
Mismo linker, sin el die.
Diagnóstico hecho leyendo toolchain.configure en el árbol del worker, no
suponiendo: el comando sondeado devuelve rc=0 y sí imprime la versión cuando se
corre a mano.
This commit is contained in:
+11
-2
@@ -48,7 +48,17 @@
|
||||
# --disable-crashreporter manda telemetría a Mozilla; además pide breakpad.
|
||||
# --disable-updater la distro actualiza por hammer, no por un updater propio.
|
||||
# --disable-tests no entran al artefacto.
|
||||
# --enable-linker=lld zig ES lld; pedir bfd/gold sería pedir algo que no hay.
|
||||
# (SIN --enable-linker) Alpine pone `--enable-linker=lld` y acá NO se puede, aunque zig
|
||||
# use lld por dentro. `toolchain.configure` sondea el linker con
|
||||
# `$CC -fuse-ld=lld -Wl,--version` y clasifica por la SALIDA: busca
|
||||
# «mold», «GNU ld», «GNU gold» o «LLD». zig se identifica como
|
||||
# **`zig ld 0.16.0`**, que no casa con ninguno ⇒ `kind = "unknown"`.
|
||||
# Eso solo no rompe (el código acepta «unknown»), pero **pedir el
|
||||
# linker por nombre vuelve FATAL cualquier fallo del sondeo**:
|
||||
# `if linker: … if result is None: die("Could not use lld as
|
||||
# linker")`. Sin el flag, Firefox prueba lld igual unas líneas más
|
||||
# abajo y, si el sondeo falla, sigue a gold y al linker por defecto
|
||||
# — que es justamente el lld que zig trae. Mismo linker, sin el die.
|
||||
name = "firefox"
|
||||
version = "154.0"
|
||||
license = "MPL-2.0"
|
||||
@@ -105,7 +115,6 @@ ac_add_options --enable-application=browser
|
||||
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-optimize
|
||||
ac_add_options --enable-linker=lld
|
||||
ac_add_options --enable-hardening
|
||||
ac_add_options --with-branding=browser/branding/unofficial
|
||||
ac_add_options --with-libclang-path=/usr/lib
|
||||
|
||||
Reference in New Issue
Block a user