Skip to content

ci-linux e2e 29/31 fail deterministically: gcc@16.1.0 first-run install — glibc 2.39 xpkg missing linux/limits.h #120

Description

@Sunrisepeak

29_toolchain_partial_versions.sh and 31_transitive_deps.sh fail on main (run 26988545086, plus a rerun) and on unrelated PRs (e.g. #119 run 27007239457) with the same signature — deterministic, not a flake:

/…/.mcpp/registry/data/xpkgs/xim-x-glibc/2.39/include/bits/local_lim.h:38:10:
fatal error: linux/limits.h: No such file or directory

during the std-module precompile right after the tests' first-run install of gcc@16.1.0 (glibc, native ABI).

Observations:

  • The xim-x-glibc/2.39 package ships glibc headers but no Linux kernel headers (linux/limits.h et al.), which bits/local_lim.h includes unconditionally.
  • The injected runtime path pairs xim-x-gcc/16.1.0 with xim-x-gcc-runtime/15.1.0 — the 16.1.0 toolchain package set looks recently published and incompletely paired.
  • Earlier main runs (gcc 15.x default era) passed these tests; the breakage tracks the registry-side default moving to 16.1.0, not any mcpp code change (e2e 65/67 otherwise green on the same runs).

Suggested fixes (registry-side): add kernel headers to the glibc xpkg (or a separate linux-headers xpkg included by the toolchain meta), and pair gcc 16.1.0 with its own runtime package.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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