When I updated my kernel(sudo dnf update
) from 5.17.14 to 5.18.5, my nvidia-dkms built failed:
Here’s the error message:
dkms: running auto installation service for kernel 5.18.5-200.fc36.x86_64
Building module:
cleaning build area...
'make' -j12 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=5.18.5-200.fc36.x86_64 IGNORE_CC_MISMATCH='' modules.......(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.18.5-200.fc36.x86_64 (x86_64)
Consult /var/lib/dkms/nvidia/510.60.02/build/make.log for more information.
And I referred the error message in make.log
:
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-dma.c:986: warning: "IMPORT_SGT_STUBS_NEEDED" redefined
986 | #define IMPORT_SGT_STUBS_NEEDED 0
|
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-dma.c:980: note: this is the location of the previous definition
980 | #define IMPORT_SGT_STUBS_NEEDED 1
|
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-acpi.c: In function ‘nv_acpi_methods_init’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-acpi.c:655:22: error: implicit declaration of function ‘acpi_bus_get_device’; did you mean ‘acpi_is_pnp_device’? [-Werror=implicit-function-declaration]
655 | retVal = acpi_bus_get_device(nvif_parent_gpu_handle, &device);
| ^~~~~~~~~~~~~~~~~~~
| acpi_is_pnp_device
CC [M] /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-vtophys.o
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv.c: In function ‘nv_set_dma_address_size’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv.c:2768:9: error: implicit declaration of function ‘pci_set_dma_mask’; did you mean ‘ipi_send_mask’? [-Werror=implicit-function-declaration]
2768 | pci_set_dma_mask(nvl->pci_dev, new_mask);
| ^~~~~~~~~~~~~~~~
| ipi_send_mask
CC [M] /var/lib/dkms/nvidia/510.60.02/build/nvidia/os-interface.o
CC [M] /var/lib/dkms/nvidia/510.60.02/build/nvidia/os-mlock.o
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-mmap.c: In function ‘nv_encode_caching’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-mmap.c:343:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
343 | if (NV_ALLOW_CACHING(memory_type))
| ^
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-mmap.c:346:9: note: here
346 | default:
| ^~~~~~~
CC [M] /var/lib/dkms/nvidia/510.60.02/build/nvidia/os-pci.o
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv.c:2774:9: error: implicit declaration of function ‘pci_set_consistent_dma_mask’ [-Werror=implicit-function-declaration]
2774 | pci_set_consistent_dma_mask(nvl->pci_dev, new_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /var/lib/dkms/nvidia/510.60.02/build/nvidia/os-registry.o
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:288: /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-acpi.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:288: /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv.o] Error 1
make[1]: *** [Makefile:1838: /var/lib/dkms/nvidia/510.60.02/build] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.18.5-200.fc36.x86_64'
make: *** [Makefile:82: modules] Error 2
The error is from the -Werror
compiler parameter:
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv.c:2774:9: error: implicit declaration of function > > ‘pci_set_consistent_dma_mask’ [-Werror=implicit-function-declaration] 2774 | pci_set_consistent_dma_mask(nvl->pci_dev, new_mask); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/nvidia/510.60.02/build/nvidia/os-registry.o cc1: some warnings being treated as errors
Is there any chance for we users to fix that manually? Any advice for a noob?
Thanks for your time and patience