Skip to content

toolchain install llvm: payload patchelf'd against xim-x-glibc but the runtime dep is not installed — clang exec 127 on bare runners (gcc path provides it) #259

Description

@Sunrisepeak

Summary

mcpp toolchain install llvm 22.1.8 on a bare machine produces binaries that cannot exec: the xim llvm payload is patchelf'd with an ELF interpreter (and RUNPATH) pointing into …/registry/data/xpkgs/xim-x-glibc/2.39/…, but the install does not pull the xim-x-glibc runtime package. First use then fails with exit 127 (ENOENT on the interpreter):

error: 'env LD_LIBRARY_PATH=…/xim-x-llvm/22.1.8/lib:… …/xim-x-llvm/22.1.8/bin/clang++ --version 2>&1' exited with status 127

Seen on GitHub ubuntu-latest (opencv-m CI, mcpp 0.0.101 release tarball flow — run 29822673295, job linux-llvm-22). Local machines never notice because something else (e.g. an earlier mcpp toolchain install gcc) already parked the glibc runtime.

Evidence (local, same payloads):

$ file -L …/xpkgs/xim-x-llvm/22.1.8/bin/clang++
ELF 64-bit LSB pie executable … interpreter …/xpkgs/xim-x-glibc/2.39/lib64/ld-linux-x86-64.so.2
$ readelf -d clang | grep RUNPATH
…/xim-x-llvm/22.1.8/lib:…/xim-x-glibc/2.39/lib64:…/xim-x-zlib/1.3.1/lib:…/xim-x-libxml2/2.13.5/lib:…

xim-x-gcc binaries have the same interpreter, and the gcc install path evidently DOES provide the runtime (the long-standing gcc CI legs work on bare runners) — so this looks like a missing runtime dependency in the llvm xim package (glibc, possibly zlib/libxml2 from the RUNPATH too), not an engine problem.

Repro

# bare linux runner, mcpp 0.0.101 release tarball on PATH
mcpp toolchain install llvm 22.1.8
mcpp toolchain default llvm@22.1.8
mcpp build          # -> clang++ --version probe exits 127

Workaround

Install gcc first (mcpp toolchain install gcc 16.1.0) — it parks xim-x-glibc and the llvm binaries start working. opencv-m CI does this now (comment links here).

Environment: mcpp 0.0.101 release tarball, ubuntu-latest (24.04).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions