Skip to content

test(examples): the GL members pin the glfw that carries the new farm - #384

Merged
Sunrisepeak merged 2 commits into
mainfrom
fix/the-gl-members-exercise-the-new-farm
Sep 10, 2026
Merged

test(examples): the GL members pin the glfw that carries the new farm#384
Sunrisepeak merged 2 commits into
mainfrom
fix/the-gl-members-exercise-the-new-farm

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

compat.glfw took 3.4.0.1 when its pin on compat.glx-runtime moved to 2026.09.11 (#383), and nothing moved with it: imgui-window and gui-stack still pinned 3.4, so they resolved the old chain and the bump was inert.

These two are the only members in the repository that reach the GL farm at all — so without this, the new compat.glx-runtime is exercised by no consumer anywhere in CI.

What was measured on this host

Both members build against compat.glx-runtime@2026.09.11. They are libraries rather than programs, so mcpp's dlopen-surface check correctly does not apply and says so in the record (reason: this build produces no program) rather than reporting a clean-looking 0 of 0.

The farm's own closure is asserted structurally — each member's DT_NEEDED read against the farm alone:

86 members, 0 unmet sonames, 0 unserved seals
host reach: NONE direct
   4 -> xim:nvidia-gl-host-link
  28 -> other xim payloads
  rest -> the subos view

A probe that dlopens every member opens all 86. That probe cannot isolate the farm from the subos — a control (removing libLLVM.so.20.1 from the farm) still reported no failures, because the subos view backs it up — so it is evidence that the members load, not that the farm alone suffices. The farm-alone property rests on the structural walk, which is the shape tests/examples/sycl-runtime/tests/farm.cpp already uses for the same reason.

`compat.glfw` took 3.4.0.1 when its pin on `compat.glx-runtime` moved to
2026.09.11, and nothing moved with it: `imgui-window` and `gui-stack` still
pinned 3.4, so they resolved the old chain and the bump was inert. A version
nobody pins is a version nobody exercises -- these two are the only members that
reach the GL farm at all.

Both build against compat.glx-runtime@2026.09.11. They are libraries rather
than programs, so mcpp's dlopen-surface check does not apply to them and says
so; the farm's own closure is asserted structurally, by reading each member's
DT_NEEDED against the farm alone.

Measured on this host: the farm is 86 members with no unmet soname and no entry
taken directly from /usr/lib -- four route through xim:nvidia-gl-host-link,
twenty-eight through other xim payloads, the rest through the subos view. A
probe that dlopens every member opens all 86; that probe cannot isolate the
farm from the subos, which a control confirmed, so it is evidence that the
members load and not that the farm alone suffices.
…this package's version

`install()` fell back to `"glfw-" .. pkginfo.version()`. That was the same
string for as long as the package had one version; the day it took an ecosystem
segment -- 3.4.0.1, for a pin that moved while upstream did not release -- the
expression asked for `glfw-3.4.0.1/`, which no tarball contains. install() then
moved nothing, and the failure appeared two layers away as
`GLFW/glfw3.h: file not found` in a consumer's test.

A path derived from a version breaks the first time the version means something
the upstream tag does not. The fallback now names the tag, and a source tree
that is missing under both spellings is an error rather than an install that
"succeeds" and leaves a directory with no headers in it.

Found by CI, not locally: `mcpp build` does not compile a member's tests, so the
local check was weaker than the one that caught it.
@Sunrisepeak
Sunrisepeak merged commit 3a231f3 into main Sep 10, 2026
14 checks passed
@Sunrisepeak
Sunrisepeak deleted the fix/the-gl-members-exercise-the-new-farm branch September 10, 2026 12:55
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