fix(build): STEP 7 needs LD_LIBRARY_PATH for the staged system libs #48

Merged
triform-admin merged 1 commit from fix/step7-ldpath into main 2026-07-30 06:42:24 +00:00

The first profile=x264 build to reach STEP 7 (post #46) got a new exit-127: the encoder test binary now genuinely links libx264.so.164, but BUILD.gn:x264 deliberately sets no rpath (the runtime image provides the libs on its default path) and the build host's loader knows nothing about /work/system-libs — the binary dies at exec (error while loading shared libraries: libx264.so.164) before gtest starts. The framesink suite (no system libs) reported SUCCESS: all tests passed in the same run — plumbing works, only the loader path was missing.

Export LD_LIBRARY_PATH=/work/system-libs/lib for the test step: both binaries + future targets, appends any pre-set path, no-op for sw-profile builds.

Verify-loop onion layer 4 (lane skipped tests → profile pipe severed → stale sw binary → loader path) — each only visible after the previous was fixed. Verification build from this branch is running on t7.

🤖 Generated with Claude Code

The first profile=x264 build to reach STEP 7 (post #46) got a **new** exit-127: the encoder test binary now genuinely links libx264.so.164, but `BUILD.gn:x264` deliberately sets no rpath (the runtime image provides the libs on its default path) and the build host's loader knows nothing about `/work/system-libs` — the binary dies at exec (`error while loading shared libraries: libx264.so.164`) before gtest starts. The framesink suite (no system libs) reported `SUCCESS: all tests passed` in the same run — plumbing works, only the loader path was missing. Export `LD_LIBRARY_PATH=/work/system-libs/lib` for the test step: both binaries + future targets, appends any pre-set path, no-op for sw-profile builds. Verify-loop onion layer 4 (lane skipped tests → profile pipe severed → stale sw binary → loader path) — each only visible after the previous was fixed. Verification build from this branch is running on t7. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(build): STEP 7 needs LD_LIBRARY_PATH for the staged system libs
All checks were successful
CodeQL / Analyze go (pull_request) Has been skipped
CodeQL / Analyze javascript-typescript (pull_request) Has been skipped
CI / Container smoke test (pull_request) Successful in 13s
E2E / docker-compose + Playwright (pull_request) Has been skipped
CI / Docs link check (pull_request) Successful in 31s
native-peer-gate / native-peer-gate-scaffold (permissive) (pull_request) Successful in 44s
native-peer-gate / native-peer-gate-strict (M7 gate) (pull_request) Successful in 4m47s
CI / Lint (pull_request) Successful in 5m46s
0a0d28c678
The first profile=x264 build to reach STEP 7 (post profile-pipe fix
#46) got a NEW exit-127: the encoder test binary now genuinely links
libx264.so.164, but BUILD.gn:x264 deliberately sets no rpath (the
runtime image provides the libs on its default path) and the build
host's loader knows nothing about /work/system-libs — so the binary
dies at exec with 'error while loading shared libraries' before gtest
starts. Meanwhile the framesink suite (no system libs) reported
'SUCCESS: all tests passed' in the same run — the plumbing works;
only the loader path was missing.

Export LD_LIBRARY_PATH=/work/system-libs/lib for the test step:
covers both binaries and future targets, appends any pre-set path,
and is a no-op for sw-profile builds.

This is verify-loop onion layer 4 (lane skipped tests → profile pipe
severed → stale sw-profile binary → loader path), each only visible
after the previous was fixed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
triform/chromeless!48
No description provided.