Problems with nvidia 440.60 dkms driver in CL 32600? Temporary Fix here

CL 32600 ships with GCC version 9.3.1, but the kernel-native-dkms module is still compiled with gcc 9.2.x. The default nvidia-installer command line performs a gcc version check between the kernel and the provided dkms module and complains when they diverge:

–no-cc-version-check
The NVIDIA kernel module should be compiled with the same compiler that was used to compile the currently running kernel. The layout of some Linux kernel data structures may be dependent on the version of gcc used to compile it. The Linux 2.6 kernel modules are tagged with information about the compiler and the Linux kernel’s module loader performs a strict version match check. nvidia-installer checks for mismatches prior to building the NVIDIA kernel module and aborts the installation in case of failures. Use this option to override this check.

Temporary fix: Add the --no-cc-version-check option in the installer command line to forcefully compile the driver.

DKMS make.log for nvidia-440.64 for kernel 5.5.9-918.native (x86_64)
Fri Mar 13 19:54:22 -03 2020
make[1]: Entering directory '/usr/lib/modules/5.5.9-918.native/build'
  SYMLINK /var/lib/dkms/nvidia/440.64/build/nvidia/nv-kernel.o

Compiler version check failed:

The major and minor number of the compiler used to
compile the kernel:

gcc version 9.2.1 20200311 gcc_9_2_0_release-746-gc9858be2e7 (Clear Linux OS for Intel Architecture)

does not match the compiler used here:

cc (Clear Linux OS for Intel Architecture) 9.3.1 20200312 releases/gcc-9.3.0-9-gde8e3b71c8
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


It is recommended to set the CC environment variable
to the compiler that was used to compile the kernel.

The compiler version check can be disabled by setting
the IGNORE_CC_MISMATCH environment variable to "1".
However, mixing compiler versions between the kernel
and kernel modules can result in subtle bugs that are
difficult to diagnose.

*** Failed CC version check. Bailing out! ***

make[2]: *** [/var/lib/dkms/nvidia/440.64/build/Kbuild:191: cc_version_check] Error 1



nvidia-installer log file '/var/log/nvidia-installer.log'
installer version: 440.64

nvidia-installer command line:
    ./nvidia-installer
    --utility-prefix=/opt/nvidia
    --opengl-prefix=/opt/nvidia
    --compat32-prefix=/opt/nvidia
    --compat32-libdir=lib32
    --x-prefix=/opt/nvidia
    --x-module-path=/opt/nvidia/lib64/xorg/modules
    --x-library-path=/opt/nvidia/lib64
    --x-sysconfig-path=/etc/X11/xorg.conf.d
    --documentation-prefix=/opt/nvidia
    --application-profile-path=/etc/nvidia
    --no-precompiled-interface
    --no-distro-scripts
    --force-libglx-indirect
    --glvnd-egl-config-path=/etc/glvnd/egl_vendor.d
    --dkms
    --silent

-> Installing DKMS kernel module:
ERROR: Failed to run `/usr/bin/dkms build -m nvidia -v 440.64 -k 5.5.9-918.native`:
Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
'make' -j12 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=5.5.9-918.native IGNORE_CC_MISMATCH='' modules...(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.5.9-918.native (x86_64)
Consult /var/lib/dkms/nvidia/440.64/build/make.log for more information.
2 Likes

Crosslink to the GitHub issue you filed:

2 Likes