build(gateway): skip fixupPhase to kill 'patchelf: wrong ELF type' noise
dontPatchELF only disabled the patchELF sub-phase; fixupPhase's shrinkELF step still emits the same error on the prebuilt .node addons and .o/.a object files in node_modules. Skip the entire fixupPhase (dontFixup = true) for the gateway — node is the external interpreter and .node addons are self-contained dlopen prebuilts, so Nix RPATH patching/stripping is neither needed nor wanted.
This commit is contained in:
@@ -175,14 +175,16 @@ WRAPPER
|
||||
# do NOT let stdenv run its own cmake configure phase on the source.
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
# The gateway bundles native node_modules (.node addons, plus .o/.a
|
||||
# object files left in prebuilt dirs). stdenv's fixupPhase runs
|
||||
# `patchELF` over $out and chokes on the non-ET_DYN ELF files,
|
||||
# emitting hundreds of harmless "patchelf: wrong ELF type" lines.
|
||||
# The real binary is node (external, already RPATH-fixed) and the
|
||||
# .node addons are self-contained prebuilts loaded via dlopen, so
|
||||
# Nix's RPATH patching is neither needed nor wanted here.
|
||||
dontPatchELF = true;
|
||||
# The gateway bundles native node_modules (.node addons plus .o/.a
|
||||
# object files left in prebuilt dirs). stdenv's fixupPhase walks
|
||||
# $out/node_modules and runs patchELF + shrinkELF over every ELF it
|
||||
# finds, choking on the non-ET_DYN files (.o/.a) and the prebuilt
|
||||
# .node addons — emitting hundreds of harmless "patchelf: wrong ELF
|
||||
# type" lines per build. The real binary is node (external, already
|
||||
# RPATH-fixed in its own derivation) and the .node addons are
|
||||
# self-contained prebuilts loaded via dlopen, so Nix's fixup pass is
|
||||
# neither needed nor wanted here. Skip it entirely.
|
||||
dontFixup = true;
|
||||
|
||||
buildPhase = pnpmInstall + ''
|
||||
echo "=== Building native voice deps ==="
|
||||
|
||||
Reference in New Issue
Block a user