You are not logged in.

#1 2024-05-10 14:05:52

hikmateustad
Member
Registered: 2022-01-23
Posts: 29

Nvidia driver does not compile with latest kernel [Solved]

On Linux Zen Kernel 6.8.8 both my Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz and Nvidia GT525M card worked well. For Nvidia I used dkms drivers 390.157 from aur and everything was ok.

Come Linux Zen Kernel upgrade 6.8.9 my nvidia dkms module did not compile. The build log stated that there was a compiler number mismatch between the kernel and the compiler used for nvidia driver. Unfortunately I did not save that log file.

I decided to sudo downgrade linux-zen-headers linux-zen to 6.8.8 to get back my healthy system. The nvidia dkms module did not compile with 6.8.8 (previously it worked flawlessly). I downgraded even to 6.8.7 with the Nvidia module again failing to build.

Since nvidia module did not work with 6.8.7, 6.8.8 and 6.8.9 I decided to upgrade to 6.8.9 again with the errored Nvidia module

hikmateustad@hikmateustad-dell ~ % sudo dkms status
acpi_call/1.2.2, 6.8.9-zen1-2-zen, x86_64: installed
nvidia/390.157: added
rtl88x2bu/5.13.1, 6.8.9-zen1-2-zen, x86_64: installed
v4l2loopback/0.13.1, 6.8.9-zen1-2-zen, x86_64: installed

Nvidia build log at /var/lib/dkms/nvidia/390.157/build/make.log

DKMS make.log for nvidia-390.157 for kernel 6.8.9-zen1-2-zen (x86_64)
Thu May  9 12:17:20 AM IST 2024
make[1]: Entering directory '/usr/lib/modules/6.8.9-zen1-2-zen/build'
  SYMLINK /var/lib/dkms/nvidia/390.157/build/nvidia/nv-kernel.o
  SYMLINK /var/lib/dkms/nvidia/390.157/build/nvidia-modeset/nv-modeset-kernel.o
 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
 CONFTEST: vm_insert_page
 CONFTEST: acpi_device_id
 CONFTEST: acquire_console_sem
 CONFTEST: console_lock
 CONFTEST: kmem_cache_create
 CONFTEST: on_each_cpu
 CONFTEST: smp_call_function
 CONFTEST: acpi_evaluate_integer
 CONFTEST: ioremap_cache
 CONFTEST: ioremap_wc
 CONFTEST: acpi_walk_namespace
 CONFTEST: pci_domain_nr
 CONFTEST: dma_mapping_error
 CONFTEST: sg_alloc_table
 CONFTEST: sg_init_table
 CONFTEST: pci_get_domain_bus_and_slot
 CONFTEST: get_num_physpages
 CONFTEST: efi_enabled
 CONFTEST: proc_create_data
 CONFTEST: pde_data
 CONFTEST: PDE_DATA
 CONFTEST: proc_remove
 CONFTEST: pm_vt_switch_required
 CONFTEST: xen_ioemu_inject_msi
 CONFTEST: phys_to_dma
 CONFTEST: get_dma_ops
 CONFTEST: write_cr4
 CONFTEST: of_get_property
 CONFTEST: of_find_node_by_phandle
 CONFTEST: of_node_to_nid
 CONFTEST: pnv_pci_get_npu_dev
 CONFTEST: for_each_online_node
 CONFTEST: node_end_pfn
 CONFTEST: pci_bus_address
 CONFTEST: pci_stop_and_remove_bus_device
 CONFTEST: pci_remove_bus_device
 CONFTEST: request_threaded_irq
 CONFTEST: register_cpu_notifier
 CONFTEST: cpuhp_setup_state
 CONFTEST: dma_map_resource
 CONFTEST: backlight_device_register
 CONFTEST: register_acpi_notifier
 CONFTEST: timer_setup
 CONFTEST: kmem_cache_create_usercopy
 CONFTEST: do_gettimeofday
 CONFTEST: dma_direct_map_resource
 CONFTEST: vmf_insert_pfn
 CONFTEST: jiffies_to_timespec
 CONFTEST: ktime_get_raw_ts64
 CONFTEST: ktime_get_real_ts64
 CONFTEST: ioremap_nocache
 CONFTEST: vga_tryget
 CONFTEST: unsafe_follow_pfn
 CONFTEST: acpi_bus_get_device
 CONFTEST: acpi_video_backlight_use_native
 CONFTEST: remap_page_range
 CONFTEST: address_space_init_once
 CONFTEST: kbasename
 CONFTEST: fatal_signal_pending
 CONFTEST: list_cut_position
 CONFTEST: vzalloc
 CONFTEST: wait_on_bit_lock_argument_count
 CONFTEST: bitmap_clear
 CONFTEST: usleep_range
 CONFTEST: radix_tree_empty
 CONFTEST: radix_tree_replace_slot
 CONFTEST: drm_dev_unref
 CONFTEST: drm_reinit_primary_mode_group
 CONFTEST: get_user_pages_remote
 CONFTEST: get_user_pages
 CONFTEST: drm_gem_object_lookup
 CONFTEST: drm_atomic_state_ref_counting
 CONFTEST: drm_driver_has_gem_prime_res_obj
 CONFTEST: drm_atomic_helper_connector_dpms
 CONFTEST: drm_connector_funcs_have_mode_in_name
 CONFTEST: drm_framebuffer_get
 CONFTEST: drm_gem_object_get
 CONFTEST: drm_dev_put
 CONFTEST: drm_connector_for_each_possible_encoder
 CONFTEST: drm_gem_object_put_unlocked
 CONFTEST: is_export_symbol_gpl_of_node_to_nid
 CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
 CONFTEST: is_export_symbol_present_swiotlb_dma_ops
 CONFTEST: i2c_adapter
 CONFTEST: pm_message_t
 CONFTEST: irq_handler_t
 CONFTEST: acpi_device_ops
 CONFTEST: acpi_op_remove
 CONFTEST: outer_flush_all
 CONFTEST: proc_dir_entry
 CONFTEST: scatterlist
 CONFTEST: sg_table
 CONFTEST: file_operations
 CONFTEST: vm_operations_struct
 CONFTEST: atomic_long_type
 CONFTEST: pci_save_state
 CONFTEST: file_inode
 CONFTEST: task_struct
 CONFTEST: kuid_t
 CONFTEST: dma_ops
 CONFTEST: swiotlb_dma_ops
 CONFTEST: dma_map_ops
 CONFTEST: noncoherent_swiotlb_dma_ops
 CONFTEST: vm_fault_present
 CONFTEST: vm_fault_has_address
 CONFTEST: kernel_write
 CONFTEST: strnstr
 CONFTEST: iterate_dir
 CONFTEST: kstrtoull
 CONFTEST: backlight_properties_type
 CONFTEST: proc_ops
 CONFTEST: timeval
 CONFTEST: mm_has_mmap_lock
 CONFTEST: kmem_cache_has_kobj_remove_work
 CONFTEST: sysfs_slab_unlink
 CONFTEST: vmalloc_has_pgprot_t_arg
 CONFTEST: pci_dev_has_skip_bus_pm
 CONFTEST: pci_channel_state
 CONFTEST: fault_flags
 CONFTEST: atomic64_type
 CONFTEST: address_space
 CONFTEST: backing_dev_info
 CONFTEST: mm_context_t
 CONFTEST: vm_ops_fault_removed_vma_arg
 CONFTEST: vm_fault_t
 CONFTEST: pnv_npu2_init_context
 CONFTEST: drm_bus_present
 CONFTEST: drm_bus_has_bus_type
 CONFTEST: drm_bus_has_get_irq
 CONFTEST: drm_bus_has_get_name
 CONFTEST: drm_driver_has_device_list
 CONFTEST: drm_driver_has_legacy_dev_list
 CONFTEST: drm_driver_has_set_busid
 CONFTEST: drm_crtc_state_has_connectors_changed
 CONFTEST: drm_init_function_args
 CONFTEST: drm_mode_connector_list_update_has_merge_type_bits_arg
 CONFTEST: drm_helper_mode_fill_fb_struct
 CONFTEST: drm_master_drop_has_from_release_arg
 CONFTEST: drm_driver_unload_has_int_return_type
 CONFTEST: kref_has_refcount_of_type_refcount_t
 CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
 CONFTEST: drm_mode_object_find_has_file_priv_arg
 CONFTEST: drm_connector_list_iter
 CONFTEST: drm_atomic_helper_swap_state_has_stall_arg
 CONFTEST: drm_driver_prime_flag_present
 CONFTEST: drm_gem_prime_export_has_dev_arg
 CONFTEST: drm_gem_object_has_resv
 CONFTEST: drm_display_mode_has_vrefresh
 CONFTEST: drm_driver_master_set_has_int_return_type
 CONFTEST: drm_driver_has_gem_free_object
 CONFTEST: drm_prime_pages_to_sg_has_drm_device_arg
 CONFTEST: drm_driver_has_gem_prime_callbacks
 CONFTEST: drm_crtc_atomic_check_has_atomic_state_arg
 CONFTEST: drm_gem_object_vmap_has_map_arg
 CONFTEST: drm_plane_atomic_check_has_atomic_state_arg
 CONFTEST: drm_device_has_pdev
 CONFTEST: dma_resv_add_fence
 CONFTEST: dma_resv_reserve_fences
 CONFTEST: reservation_object_reserve_shared_has_num_fences_arg
 CONFTEST: dom0_kernel_present
 CONFTEST: nvidia_vgpu_kvm_build
 CONFTEST: nvidia_grid_build
 CONFTEST: drm_available
 CONFTEST: drm_atomic_available
 CONFTEST: is_export_symbol_gpl_refcount_inc
 CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-frontend.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-instance.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.o
  CC [M]  /var/lib/dkms/nvidia/390.157/build/nvidia/nv.o
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/conftest.h:5,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv_stdarg.h:29,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/os-interface.h:27,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-frontend.c:12:
/var/lib/dkms/nvidia/390.157/build/conftest/functions.h:76:2: error: #error wait_on_bit_lock() conftest failed!
   76 | #error wait_on_bit_lock() conftest failed!
      |  ^~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/conftest.h:5,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv_stdarg.h:29,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/os-interface.h:27,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-instance.c:12:
/var/lib/dkms/nvidia/390.157/build/conftest/functions.h:76:2: error: #error wait_on_bit_lock() conftest failed!
   76 | #error wait_on_bit_lock() conftest failed!
      |  ^~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/conftest.h:5,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv_stdarg.h:29,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv.h:18,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:16,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.c:24:
/var/lib/dkms/nvidia/390.157/build/conftest/functions.h:76:2: error: #error wait_on_bit_lock() conftest failed!
   76 | #error wait_on_bit_lock() conftest failed!
      |  ^~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/conftest.h:5,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/nv_stdarg.h:29,
                 from /var/lib/dkms/nvidia/390.157/build/common/inc/os-interface.h:27,
                 from /var/lib/dkms/nvidia/390.157/build/nvidia/nv.c:12:
/var/lib/dkms/nvidia/390.157/build/conftest/functions.h:76:2: error: #error wait_on_bit_lock() conftest failed!
   76 | #error wait_on_bit_lock() conftest failed!
      |  ^~~~~
In file included from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-frontend.c:13:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h: In function ‘nv_ioremap_nocache’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:568:17: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Wimplicit-function-declaration]
  568 |     void *ptr = ioremap_nocache(phys, size);
      |                 ^~~~~~~~~~~~~~~
      |                 ioremap_cache
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:568:17: error: initialization of ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
In file included from /var/lib/dkms/nvidia/390.157/build/nvidia/nv-instance.c:13:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h: In function ‘nv_ioremap_nocache’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:568:17: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Wimplicit-function-declaration]
  568 |     void *ptr = ioremap_nocache(phys, size);
      |                 ^~~~~~~~~~~~~~~
      |                 ioremap_cache
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:568:17: error: initialization of ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h: In function ‘nv_ioremap_nocache’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:568:17: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Wimplicit-function-declaration]
  568 |     void *ptr = ioremap_nocache(phys, size);
      |                 ^~~~~~~~~~~~~~~
      |                 ioremap_cache
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:568:17: error: initialization of ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
In file included from /var/lib/dkms/nvidia/390.157/build/nvidia/nv.c:13:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h: In function ‘nv_ioremap_nocache’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:568:17: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Wimplicit-function-declaration]
  568 |     void *ptr = ioremap_nocache(phys, size);
      |                 ^~~~~~~~~~~~~~~
      |                 ioremap_cache
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:568:17: error: initialization of ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h: In function ‘nv_is_dma_direct’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:1297:9: error: implicit declaration of function ‘dma_is_direct’; did you mean ‘d_is_dir’? [-Wimplicit-function-declaration]
 1297 |     if (dma_is_direct(get_dma_ops(dev)))
      |         ^~~~~~~~~~~~~
      |         d_is_dir
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h: In function ‘nv_is_dma_direct’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:1297:9: error: implicit declaration of function ‘dma_is_direct’; did you mean ‘d_is_dir’? [-Wimplicit-function-declaration]
 1297 |     if (dma_is_direct(get_dma_ops(dev)))
      |         ^~~~~~~~~~~~~
      |         d_is_dir
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h: In function ‘nv_is_dma_direct’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h: In function ‘nv_is_dma_direct’:
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:1297:9: error: implicit declaration of function ‘dma_is_direct’; did you mean ‘d_is_dir’? [-Wimplicit-function-declaration]
 1297 |     if (dma_is_direct(get_dma_ops(dev)))
      |         ^~~~~~~~~~~~~
      |         d_is_dir
/var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:1297:9: error: implicit declaration of function ‘dma_is_direct’; did you mean ‘d_is_dir’? [-Wimplicit-function-declaration]
 1297 |     if (dma_is_direct(get_dma_ops(dev)))
      |         ^~~~~~~~~~~~~
      |         d_is_dir
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-instance.c: At top level:
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-instance.c:68:1: warning: no previous prototype for ‘nv_pci_register_driver’ [-Wmissing-prototypes]
   68 | nv_pci_register_driver(
      | ^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.c: In function ‘gather_memblock_ids_for_node’:
/var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.c:232:47: warning: cast between incompatible function types from ‘int (*)(struct dir_context *, const char *, int,  loff_t,  u64,  unsigned int)’ {aka ‘int (*)(struct dir_context *, const char *, int,  long long int,  long long unsigned int,  unsigned int)’} to ‘bool (*)(struct dir_context *, const char *, int,  loff_t,  u64,  unsigned int)’ {aka ‘_Bool (*)(struct dir_context *, const char *, int,  long long int,  long long unsigned int,  unsigned int)’} [-Wcast-function-type]
  232 |     nv_dir_context_t ats_ctx = { .ctx.actor = (filldir_t)filldir_get_memblock_id };
      |                                               ^
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-instance.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/var/lib/dkms/nvidia/390.157/build/nvidia/nv.c: At top level:
/var/lib/dkms/nvidia/390.157/build/nvidia/nv.c:771:12: warning: no previous prototype for ‘nvidia_init_module’ [-Wmissing-prototypes]
  771 | int __init nvidia_init_module(void)
      |            ^~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-frontend.o] Error 1
/var/lib/dkms/nvidia/390.157/build/nvidia/nv.c:1161:6: warning: no previous prototype for ‘nvidia_exit_module’ [-Wmissing-prototypes]
 1161 | void nvidia_exit_module(void)
      |      ^~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv-gpu-numa.o] Error 1
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/nvidia/390.157/build/nvidia/nv.o] Error 1
make[2]: *** [/usr/lib/modules/6.8.9-zen1-2-zen/build/Makefile:1919: /var/lib/dkms/nvidia/390.157/build] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.8.9-zen1-2-zen/build'
make: *** [Makefile:81: modules] Error 2

How to go about resolving this?

Thank you in advance for your time.

Last edited by hikmateustad (2024-05-10 15:05:51)

Offline

#2 2024-05-10 14:13:40

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,643

Re: Nvidia driver does not compile with latest kernel [Solved]

Offline

#3 2024-05-10 15:05:28

hikmateustad
Member
Registered: 2022-01-23
Posts: 29

Re: Nvidia driver does not compile with latest kernel [Solved]

Works!!!. Thank you so much Scimmia

Offline

Board footer

Powered by FluxBB