I just take this old thread to keep a kind of history here. If you guys want me to open a complete new thread, just tell me. After my holidays I did a 20240722-0 -> 20240816-0 and there again the nVidia compilation for the older 390 driver is broken. Bad luck that I did not check the compilation update for this zypper dup. I turned up the number of kept kernels just to be on the safe side. Afterwards I made an update 20240816-0 -> 20240817-0 That shows: ... /usr/src/kernel-modules/nvidia-390.157-default/nvidia/os-mlock.c: In function ‘nv_follow_pfn’: /usr/src/kernel-modules/nvidia-390.157-default/nvidia/os-mlock.c:24:12: error: implicit declaration of function ‘follow_pfn’; did you mean ‘follow_pte’? [-Werror=implicit-function-declaration] 24 | return follow_pfn(vma, address, pfn); | ^~~~~~~~~~ | follow_pte cc1: some warnings being treated as errors ... I also read the older thread about Subject: TW - note: gcc 14 break Nvidia driver build - still working on patch for 390/470 (thanks drankinatty@gmail.com) but my gcc is: gcc (SUSE Linux) 13.3.1 20240807 [revision 9d368828bd4d04ce507e02a581be850fca849fae] (I never changed that) Is there any patch for correcting the "implicit declaration of function ‘follow_pfn’"-bug? Does some patch from the gcc14 topic shoot my compilation with gcc13 here? Thanks in advance BR Am 25/03/2024 um 23:34 schrieb Peter Maffter via openSUSE Users:
Am 24/03/2024 um 18:26 schrieb Peter Maffter via openSUSE Users:
Am 24/03/2024 um 18:02 schrieb Peter Maffter via openSUSE Users:
Am 24/03/2024 um 17:23 schrieb Peter Maffter via openSUSE Users:
Am 24/03/2024 um 17:17 schrieb Andrei Borzenkov:
On 24.03.2024 18:44, Peter Maffter via openSUSE Users wrote:
Warning: modules_install: missing 'System.map' file. Skipping depmod.
1. There is no indication this message is actually a problem. Did you check if you can load compiled module(s)?
"Skipping depmod" ?
2. Did you check whether System.map file exists?
ll /usr/lib/modules/6.8.1-1-default/System.map -rw-r--r-- 1 root root 7603403 Mar 19 08:32 /usr/lib/modules/6.8.1-1-default/System.map
The article at https://patchwork.kernel.org/project/linux-kbuild/patch/dde798fd-9fef-6ac0-a...
says, that before Sept. 2018 this was exiting without any message.
"if ! test -r System.map ; then + echo "Warning: modules_install: missing 'System.map' file. Skipping depmod." >&2 exit 0 fi"
test -r System.map in my case simply results in nothing although:
ll /usr/lib/modules/6.8.1-1-default/System.map -rw-r--r-- 1 root root 7603403 Mar 19 08:32 /usr/lib/modules/6.8.1-1-default/System.map
So there seems to be something wrong in /usr/src/kernel-modules/nvidia-390.157-default/Makefile
But I do not know, what is missing in the Makefile.
https://www.linuxquestions.org/questions/ubuntu-63/system-map-no-such-file-o... has a pointer: "If it says "not found" it means you don't have that file in that directory. Either you need to find where System.map or you need to install a separate package that includes System.map. If the file DOES exist on your system but is in a another directory you can create a symbolic link in /lib/modules/2.6.32-25-generic/build to where it really exists OR you could modify the makefile to point to the correct path."
ls -l /lib/modules/6.8.1-1-default/build/System.map is not there.
Shall I make a symbolic link from /usr/lib/modules/6.8.1-1-default/System.map to /lib/modules/6.8.1-1-default/build/System.map ?
As I said: I did compile kernel modules a long time ago and since this changed a lot I am a bit lost here.
I simply tried: ln -s /usr/lib/modules/6.8.1-1-default/System.map /lib/modules/6.8.1-1-default/build/System.map
ll /lib/modules/6.8.1-1-default/build/ total 2296 drwxr-xr-x 3 root root 4096 Mar 23 00:15 arch -rw-r--r-- 1 root root 279824 Mar 19 08:32 .config -rw-r--r-- 1 root root 39 Mar 19 08:32 .gitignore drwxr-xr-x 4 root root 4096 Mar 23 00:15 include -rw-r--r-- 1 root root 40 Mar 19 08:32 Makefile -rw-r--r-- 1 root root 128426 Mar 19 08:32 Module.supported -rw-r--r-- 1 root root 1910418 Mar 19 08:32 Module.symvers drwxr-xr-x 7 root root 4096 Mar 23 00:15 scripts lrwxrwxrwx 1 root root 43 Mar 25 22:57 System.map -> /usr/lib/modules/6.8.1-1-default/System.map drwxr-xr-x 3 root root 4096 Mar 23 00:15 tools
As I wrote previously I replaced in nvidia-drm-drv.c DRM_UNLOCKED with 0 according to https://github.com/CachyOS/kernel-patches/blob/master/6.8/misc/nvidia/0001-n...
/usr/src/kernel-modules/nvidia-390.157-default # vers=6.8.1-1-default;make clean modules KERNEL_UNAME=$vers;make modules_install KERNEL_UNAME=$vers; depmod $vers rm -f -r conftest make[1]: Entering directory '/usr/src/linux-6.8.1-1' make[2]: Entering directory '/usr/src/linux-6.8.1-1-obj/x86_64/default' CLEAN /usr/src/kernel-modules/nvidia-390.157-default CLEAN /usr/src/kernel-modules/nvidia-390.157-default/Module.symvers make[2]: Leaving directory '/usr/src/linux-6.8.1-1-obj/x86_64/default' make[1]: Leaving directory '/usr/src/linux-6.8.1-1' make[1]: Entering directory '/usr/src/linux-6.8.1-1' make[2]: Entering directory '/usr/src/linux-6.8.1-1-obj/x86_64/default' warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc (SUSE Linux) 13.2.1 20240206 [revision 67ac78caf31f7cb3202177e6428a46d829b70f23] You are using: cc (SUSE Linux) 13.2.1 20240206 [revision 67ac78caf31f7cb3202177e6428a46d829b70f23] CONFTEST: INIT_WORK CONFTEST: remap_pfn_range CONFTEST: hash__remap_4k_pfn CONFTEST: follow_pfn CONFTEST: vmap CONFTEST: set_pages_uc CONFTEST: list_is_first CONFTEST: set_memory_uc CONFTEST: set_memory_array_uc CONFTEST: change_page_attr CONFTEST: pci_get_class CONFTEST: pci_choose_state
[...] CC [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm/nvidia-drm-linux.o CC [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm/nvidia-drm-helper.o CC [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm/nv-pci-table.o CC [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm/nvidia-drm-gem-nvkms-memory.o CC [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm/nvidia-drm-gem-user-memory.o LD [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm.o ld -r -o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-interface.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-frontend.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-instance.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-gpu-numa.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-acpi.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-chrdev.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-cray.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-dma.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-gvi.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-i2c.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-mempool.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-mmap.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-p2p.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-pat.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-procfs.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-usermap.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-vm.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-vtophys.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/os-interface.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/os-mlock.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/os-pci.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/os-registry.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/os-usermap.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-modeset-interface.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-pci-table.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-kthread-q.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-kthread-q-selftest.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-memdbg.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-ibmnpu.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-report-err.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv_uvm_interface.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nvlink_linux.o ld -r -o /usr/src/kernel-modules/nvidia-390.157-default/nvidia-modeset/nv-modeset-interface.o /usr/src/kernel-modules/nvidia-390.157-default/nvidia-modeset/nvidia-modeset-linux.o MODPOST /usr/src/kernel-modules/nvidia-390.157-default/Module.symvers CC [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia.mod.o LD [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia.ko BTF [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia.ko Skipping BTF generation for /usr/src/kernel-modules/nvidia-390.157-default/nvidia.ko due to unavailability of vmlinux CC [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-uvm.mod.o LD [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-uvm.ko BTF [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-uvm.ko Skipping BTF generation for /usr/src/kernel-modules/nvidia-390.157-default/nvidia-uvm.ko due to unavailability of vmlinux CC [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-modeset.mod.o LD [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-modeset.ko BTF [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-modeset.ko Skipping BTF generation for /usr/src/kernel-modules/nvidia-390.157-default/nvidia-modeset.ko due to unavailability of vmlinux CC [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm.mod.o LD [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm.ko BTF [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm.ko Skipping BTF generation for /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm.ko due to unavailability of vmlinux make[2]: Leaving directory '/usr/src/linux-6.8.1-1-obj/x86_64/default' make[1]: Leaving directory '/usr/src/linux-6.8.1-1' make[1]: Entering directory '/usr/src/linux-6.8.1-1' make[2]: Entering directory '/usr/src/linux-6.8.1-1-obj/x86_64/default' INSTALL /usr/lib/modules/6.8.1-1-default/kernel/drivers/video/nvidia.ko INSTALL /usr/lib/modules/6.8.1-1-default/kernel/drivers/video/nvidia-uvm.ko INSTALL /usr/lib/modules/6.8.1-1-default/kernel/drivers/video/nvidia-modeset.ko INSTALL /usr/lib/modules/6.8.1-1-default/kernel/drivers/video/nvidia-drm.ko DEPMOD /usr/lib/modules/6.8.1-1-default make[2]: Leaving directory '/usr/src/linux-6.8.1-1-obj/x86_64/default' make[1]: Leaving directory '/usr/src/linux-6.8.1-1'
So depmod is working now, but there is still BTF [M] /usr/src/kernel-modules/nvidia-390.157-default/nvidia-drm.ko Skipping BTF generation for /usr/src/kernel-modules/nvidia-390.157-default
After compilation I rebooted from 6.7.9-1-default to 6.8.1-1-default
Success: graphics is there. All seems to be working.
Short test with a testfilm big_buck_bunny_1080p_h264.mov also shows no strange video things.
So just the "Skipping BTF generation for /usr/src/kernel-modules/nvidia-390.157-default" problem remains.
BR