Skip to content

590.48.01 Kernel 7.0rc1 fails to compile #1041

@ptr1337

Description

@ptr1337

NVIDIA Open GPU Kernel Modules Version

590.48.01

Operating System and Version

CachyOS

Kernel Release

7.0rc1

Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.

  • I am running on a stable kernel release.

Build Command

via dkms

Terminal output/Build Log

awk: cmd. line:1: 'BEGIN
awk: cmd. line:1: ^ invalid char ''' in expression
make[5]: *** [/home/naim/cachyos/linux-cachyos/linux-cachyos-rc/src/linux-7.0-rc1/scripts/Makefile.modfinal:60: nvidia-drm.ko] Error 1
make[5]: *** Deleting file 'nvidia-drm.ko'
make[5]: *** Waiting for unfinished jobs....
BTF [M] nvidia-modeset.ko
BTF [M] nvidia-peermem.ko
awk: cmd. line:1: 'BEGIN
awk: cmd. line:awk: 1: ^ invalid char ''' in expressioncmd. line:
1: 'BEGIN
awk: cmd. line:1: ^ invalid char ''' in expression
make[5]: *** [/home/naim/cachyos/linux-cachyos/linux-cachyos-rc/src/linux-7.0-rc1/scripts/Makefile.modfinal:60: nvidia-modeset.ko] Error 1
make[5]: *** Deleting file 'nvidia-modeset.ko'
make[5]: *** [/home/naim/cachyos/linux-cachyos/linux-cachyos-rc/src/linux-7.0-rc1/scripts/Makefile.modfinal:60: nvidia-peermem.ko] Error 1
make[5]: *** Deleting file 'nvidia-peermem.ko'
BTF [M] nvidia.ko
awk: cmd. line:1: 'BEGIN
awk: cmd. line:1: ^ invalid char ''' in expression
make[5]: *** [/home/naim/cachyos/linux-cachyos/linux-cachyos-rc/src/linux-7.0-rc1/scripts/Makefile.modfinal:60: nvidia.ko] Error 1
make[5]: *** Deleting file 'nvidia.ko'
BTF [M] nvidia-uvm.ko
awk: cmd. line:1: 'BEGIN
awk: cmd. line:1: ^ invalid char ''' in expression
make[5]: *** [/home/naim/cachyos/linux-cachyos/linux-cachyos-rc/src/linux-7.0-rc1/scripts/Makefile.modfinal:60: nvidia-uvm.ko] Error 1

More Info

Patch which fixes compilation for 7.0rc1 Kernel:

From 64c99752ad64d944a08c8d7b4860309e6223a19c Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 26 Feb 2026 16:53:26 +0100
Subject: [PATCH] kernel-open/Makefile: Fix PAHOLE_VARIABLES for kernels using
 gen-btf.sh, fix for 7.0rc1

Signed-off-by: Peter Jung <admin@ptr1337.dev>
---
 kernel-open/Makefile | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/kernel-open/Makefile b/kernel-open/Makefile
index f7a8db69f..9a3fc281e 100644
--- a/kernel-open/Makefile
+++ b/kernel-open/Makefile
@@ -92,10 +92,15 @@ else
   #     system(pahole_cmd)
   # }
   PAHOLE_AWK_PROGRAM = BEGIN { pahole_cmd = \"pahole\"; for (i = 1; i < ARGC; i++) { if (ARGV[i] ~ /--lang_exclude=/) { pahole_cmd = pahole_cmd sprintf(\" %s,c++\", ARGV[i]); } else { pahole_cmd = pahole_cmd sprintf(\" %s\", ARGV[i]); } } system(pahole_cmd); }
-  # If scripts/pahole-flags.sh is not present in the kernel tree, add PAHOLE and
-  # PAHOLE_AWK_PROGRAM assignments to PAHOLE_VARIABLES; otherwise assign the
-  # empty string to PAHOLE_VARIABLES.
-  PAHOLE_VARIABLES=$(if $(wildcard $(KERNEL_SOURCES)/scripts/pahole-flags.sh),,"PAHOLE=$(AWK) '$(PAHOLE_AWK_PROGRAM)'")
+  # If scripts/pahole-flags.sh is not present AND scripts/gen-btf.sh is not
+  # present in the kernel tree, add PAHOLE and PAHOLE_AWK_PROGRAM assignments
+  # to PAHOLE_VARIABLES; otherwise assign the empty string to PAHOLE_VARIABLES.
+  #
+  # scripts/gen-btf.sh was introduced in kernel 7.0 (formerly 6.17) when
+  # scripts/pahole-flags.sh was removed.  The gen-btf.sh-based BTF generation
+  # calls ${PAHOLE} inside a shell script, so the awk wrapper used here is
+  # incompatible (shell word-splitting breaks the single-quoted awk program).
+  PAHOLE_VARIABLES=$(if $(or $(wildcard $(KERNEL_SOURCES)/scripts/pahole-flags.sh),$(wildcard $(KERNEL_SOURCES)/scripts/gen-btf.sh)),,"PAHOLE=$(AWK) '$(PAHOLE_AWK_PROGRAM)'")
 
   ifndef ARCH
     ARCH := $(shell uname -m | sed -e 's/i.86/i386/' \

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions