Skip to content

install: Azure Linux needs the libc headers named, or the build dies later - #70

Merged
cnygaard merged 1 commit into
mainfrom
fix/azurelinux-glibc-devel
Aug 19, 2026
Merged

install: Azure Linux needs the libc headers named, or the build dies later#70
cnygaard merged 1 commit into
mainfrom
fix/azurelinux-glibc-devel

Conversation

@cnygaard

Copy link
Copy Markdown
Owner

Found by the distro matrix, and it is precisely the failure mode this suite exists for.

Pre-flight followed its own printed advice, reported OK, and the kernel build then died with:

nvidia/cu13/include/crt/host_config.h:208: fatal error: features.h: No such file or directory

16 times in one run. Advice that leads to a state the user believes is ready is worse than no advice.

Why only Azure Linux

features.h is glibc's, not CUDA's. On the minimal Azure Linux core image, gcc-c++ does not pull glibc-devel. Fedora and RHEL get it transitively via their gcc-c++; Debian gets it via build-essentiallibc6-dev. So this is a one-distro gap, and it is fixed in one place.

Verified before changing anything

$ tdnf install -y glibc-devel        →  glibc-devel-2.38-20.azl3, exit 0
$ ls -l /usr/include/features.h      →  18596 bytes

Scope

Added only where needed. A test asserts fedora and rhel are not changed — every extra package in a command the user is asked to paste is noise, and noise is how advice stops being read.

Also worth recording: this is not a CUDA Toolkit problem

The same matrix run shows Could not find nvcc 0 times — nvcc ships with the pip CUDA wheels and was present on every distro and every Python version (3.11–3.14). The toolchain gaps found so far are distro dev packages, not NVIDIA's installer:

error distro fix
unsupported GNU version (×105) fedora:44 a gcc ≤ 15 — pre-flight advises it as of #67
features.h (×16) azurelinux this PR

Not proven yet

That an azurelinux install leg now completes end to end. The package and the header are confirmed; the full leg is for the next matrix run.

…later

Found by the distro matrix, and it is exactly the failure this suite exists for: pre-flight
followed its own printed advice, reported OK, and the kernel build then died with

    nvidia/cu13/include/crt/host_config.h:208: fatal error: features.h: No such file

16 times in one run. `features.h` is glibc's, not CUDA's. On the minimal Azure Linux core
image `gcc-c++` does not pull `glibc-devel`, whereas Fedora/RHEL's gcc-c++ does and Debian's
build-essential brings libc6-dev — which is why only this distro shows it.

Verified in the container before changing anything: `tdnf install -y glibc-devel` installs
glibc-devel-2.38-20.azl3 and produces /usr/include/features.h.

Added only where it is needed. Fedora and RHEL get it transitively, and a test asserts they
are not changed — every extra package in a command the user is asked to paste is noise, and
noise is how advice stops being read.

Not yet proven end to end: that an azurelinux install leg now completes. The package and the
header are confirmed; the full leg is for the next matrix run.
@cnygaard
cnygaard enabled auto-merge (squash) August 19, 2026 19:27
@cnygaard
cnygaard merged commit f0bf38e into main Aug 19, 2026
3 checks passed
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