Skip to content

Bake guest paths (/igloo) into staged binaries#6

Merged
lacraig2 merged 1 commit into
mainfrom
fix/guest-paths
Jun 9, 2026
Merged

Bake guest paths (/igloo) into staged binaries#6
lacraig2 merged 1 commit into
mainfrom
fix/guest-paths

Conversation

@lacraig2

@lacraig2 lacraig2 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Critical fix — without this the guest tools don't launch.

The staged binaries run on the guest, where penguin mounts this arch's dylibs flat at /igloo/dylibs and the tools at /igloo/utils (per config_patchers.py), not at the container's /igloo_static/dylibs/<arch>. normalize_elf was baking the container path into the interpreter and RUNPATH, so on the guest the loader and libraries couldn't be found and gdbserver/strace/ltrace/python would fail to exec.

  • interpreter + RUNPATH → /igloo/dylibs
  • python tree internal refs → /igloo/utils/python
  • (drop-in sysroot symlinks stay /igloo_static-relative — consumed at penguin build time via clang --sysroot, not on the guest)

Verified armel: gdbserver interp → /igloo/dylibs/ld-musl-arm.so.1, RUNPATH → /igloo/dylibs.

This was meant to be in v0.0.4 but landed after PR #5 merged; needs its own release.

The staged binaries run on the guest, where penguin mounts this arch's
dylibs flat at /igloo/dylibs and the tools at /igloo/utils (per
config_patchers.py) -- not at the container's /igloo_static/dylibs/<arch>.
normalize_elf was setting the interpreter and RUNPATH to the container
path, so on the guest the loader and libraries could not be found and the
tools would not launch. Point both at /igloo/dylibs, and rewrite the
python tree's internal references to /igloo/utils/python.

The drop-in sysroot symlinks stay /igloo_static-relative on purpose: they
are consumed at penguin *build* time (clang --sysroot), not on the guest.

Verified armel: gdbserver interp -> /igloo/dylibs/ld-musl-arm.so.1,
RUNPATH -> /igloo/dylibs.
@lacraig2 lacraig2 merged commit 491b36c into main Jun 9, 2026
1 check passed
@lacraig2 lacraig2 deleted the fix/guest-paths branch June 9, 2026 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant