From 005768676922ba74c8514ba6b1300644d25a925c Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Sun, 8 Mar 2026 18:53:37 +0300 Subject: [PATCH] fix: pass GCC include dir to NVIDIA make to resolve stdarg.h not found Debian kernel build uses -nostdinc which strips GCC's own includes. NVIDIA's nv_stdarg.h needs from GCC. Pass -I$(gcc --print-file-name=include) via CFLAGS_MODULE. Co-Authored-By: Claude Sonnet 4.6 --- iso/builder/build-nvidia-module.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/iso/builder/build-nvidia-module.sh b/iso/builder/build-nvidia-module.sh index b122dc4..df3f837 100644 --- a/iso/builder/build-nvidia-module.sh +++ b/iso/builder/build-nvidia-module.sh @@ -84,9 +84,15 @@ done echo "kernel source: $KERNEL_SRC" # Build kernel modules +# CFLAGS_MODULE: add GCC include dir so NVIDIA's nv_stdarg.h can find stdarg.h. +# Kernel build uses -nostdinc which strips GCC's own includes; we restore it here. +GCC_INCLUDES=$(gcc --print-file-name=include 2>/dev/null || echo "") echo "=== building kernel modules ($(nproc) cores) ===" cd "$KERNEL_SRC" -make -j$(nproc) KERNEL_UNAME="$KVER" SYSSRC="$KDIR" modules 2>&1 | tail -5 +make -j$(nproc) \ + KERNEL_UNAME="$KVER" SYSSRC="$KDIR" \ + ${GCC_INCLUDES:+CFLAGS_MODULE="-I${GCC_INCLUDES}"} \ + modules 2>&1 | tail -10 # Collect outputs mkdir -p "$CACHE_DIR/modules" "$CACHE_DIR/bin" "$CACHE_DIR/lib"