Issue installing 384.81 driver with updated kernel 4.9.35.
The driver install is successful on default Ubuntu kernel (4.4.0-96). The issue occurs with our install of 4.9.35. We need this version or newer kernel to be able to test multiple hardware configurations.
root@ubuntu:~/cuda# uname -a
Linux ubuntu 4.9.35-my-kernel #1 SMP Mon Jul 24 16:20:21 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
The command we are using is a simple “./nvidia-installer” from the extracted NVIDIA-Linux-x86_64-384.81 directory. Is there a driver version or configuration we should try?
From /var/log/nvidia-installer.log (just the beginning with a few errors):
nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Mon Oct 9 13:46:47 2017
installer version: 384.81
PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
nvidia-installer command line:
./nvidia-installer
Unable to load: nvidia-installer ncurses v6 user interface
Using: nvidia-installer ncurses user interface
-> Detected 1 CPUs online; setting concurrency level to 1.
WARNING: You do not appear to have an NVIDIA GPU supported by the 384.81 NVIDIA Linux graphics driver installed in this system. For further details, please see the appendix SUPPORTED NVIDIA GRAPHICS CHIPS in the README available on the Linux driver download page at www.nvidia.com.
-> License accepted.
-> Installing NVIDIA driver version 384.81.
-> There appears to already be a driver installed on your system (version: 384.90). As part of installing this driver (version: 384.81), the existing driver will be uninstalled. Are you sure you want to continue? (Answer: Continue installation)
-> Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later. (Answer: No)
-> Performing CC sanity check with CC="/usr/bin/gcc-5".
-> Kernel source path: '/lib/modules/4.9.35-mbx/build'
-> Kernel output path: '/lib/modules/4.9.35-mbx/build'
-> Performing Compiler check.
-> Performing Dom0 check.
-> Performing Xen check.
-> Performing PREEMPT_RT check.
-> Cleaning kernel module build directory.
executing: 'cd ./kernel; /usr/bin/make -k -j1 clean NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/4.9.35-mbx/build" SYSOUT="/lib/modules/4.9.35-mbx/build"'...
rm -f -r conftest
/usr/bin/make "CC=/usr/bin/gcc-5" KBUILD_VERBOSE= -C /lib/modules/4.9.35-mbx/build M=/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel ARCH=x86_64 NV_KERNEL_SOURCES=/lib/modules/4.9.35-mbx/build NV_KERNEL_OUTPUT=/lib/modules/4.9.35-mbx/build NV_KERNEL_MODULES="nvidia nvidia-uvm nvidia-modeset nvidia-drm" INSTALL_MOD_DIR=kernel/drivers/video clean
make[1]: Entering directory '/usr/src/linux-headers-4.9.35-mbx'
make[1]: Leaving directory '/usr/src/linux-headers-4.9.35-mbx'
-> Building kernel modules
executing: 'cd ./kernel; /usr/bin/make -k -j1 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/4.9.35-mbx/build" SYSOUT="/lib/modules/4.9.35-mbx/build"'...
/usr/bin/make "CC=/usr/bin/gcc-5" KBUILD_VERBOSE= -C /lib/modules/4.9.35-mbx/build M=/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel ARCH=x86_64 NV_KERNEL_SOURCES=/lib/modules/4.9.35-mbx/build NV_KERNEL_OUTPUT=/lib/modules/4.9.35-mbx/build NV_KERNEL_MODULES="nvidia nvidia-uvm nvidia-modeset nvidia-drm" INSTALL_MOD_DIR=kernel/drivers/video modules
make[1]: Entering directory '/usr/src/linux-headers-4.9.35-mbx'
CONFTEST: INIT_WORK
CONFTEST: remap_pfn_range
CONFTEST: hash__remap_4k_pfn
CONFTEST: follow_pfn
CONFTEST: vmap
CONFTEST: set_pages_uc
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: pci_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: 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: 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: drm_dev_unref
CONFTEST: drm_reinit_primary_mode_group
CONFTEST: drm_atomic_set_mode_for_crtc
CONFTEST: drm_atomic_clean_old_fb
CONFTEST: get_user_pages_remote
CONFTEST: drm_gem_object_lookup
CONFTEST: drm_atomic_state_free
CONFTEST: drm_driver_has_gem_prime_res_obj
CONFTEST: is_export_symbol_gpl_of_node_to_nid
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: 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: fault_flags
CONFTEST: atomic64_type
CONFTEST: address_space
CONFTEST: backing_dev_info
CONFTEST: mm_context_t
CONFTEST: vm_ops_fault_removed_vma_arg
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_legacy_dev_list
CONFTEST: drm_driver_has_set_busid
CONFTEST: drm_crtc_state_has_connectors_changed
CONFTEST: drm_init_functions_have_name_arg
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_mode_config_funcs_has_atomic_state_alloc
CONFTEST: drm_driver_unload_has_int_return_type
CONFTEST: dom0_kernel_present
CONFTEST: nvidia_vgpu_kvm_build
CONFTEST: nvidia_grid_build
CONFTEST: drm_available
CONFTEST: drm_atomic_available
CONFTEST: drm_atomic_modeset_nonblocking_commit_available
CONFTEST: is_export_symbol_gpl_refcount_inc
CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
CC [M] /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/nvidia/nv-frontend.o
In file included from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/conftest.h:5:0,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:17,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/nvidia/nv-frontend.c:13:
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/conftest/functions.h:14:2: error: #error kmem_cache_create() conftest failed!
#error kmem_cache_create() conftest failed!
^
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/conftest/functions.h:15:2: error: #error on_each_cpu() conftest failed!
#error on_each_cpu() conftest failed!
^
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/conftest/functions.h:16:2: error: #error smp_call_function() conftest failed!
#error smp_call_function() conftest failed!
^
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/conftest/functions.h:21:2: error: #error acpi_walk_namespace() conftest failed!
#error acpi_walk_namespace() conftest failed!
^
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/conftest/functions.h:23:2: error: #error pci_dma_mapping_error() conftest failed!
#error pci_dma_mapping_error() conftest failed!
^
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/conftest/functions.h:54:2: error: #error wait_on_bit_lock() conftest failed!
#error wait_on_bit_lock() conftest failed!
^
In file included from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/conftest.h:7:0,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:17,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/nvidia/nv-frontend.c:13:
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/conftest/macros.h:1:2: error: #error INIT_WORK() conftest failed!
#error INIT_WORK() conftest failed!
^
In file included from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/nvidia/nv-frontend.c:13:0:
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:153:15: error: conflicting types for ‘kuid_t’
typedef uid_t kuid_t;
^
In file included from ./include/linux/sysctl.h:28:0,
from ./include/linux/timer.h:258,
from ./include/linux/workqueue.h:8,
from ./include/linux/srcu.h:34,
from ./include/linux/notifier.h:15,
from ./include/linux/memory_hotplug.h:6,
from ./include/linux/mmzone.h:752,
from ./include/linux/gfp.h:5,
from ./include/linux/mm.h:9,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-pgprot.h:17,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:20,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/nvidia/nv-frontend.c:13:
./include/linux/uidgid.h:22:3: note: previous declaration of ‘kuid_t’ was here
} kuid_t;
^
In file included from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/nvidia/nv-frontend.c:13:0:
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:155:21: error: conflicting types for ‘__kuid_val’
static inline uid_t __kuid_val(kuid_t uid)
^
In file included from ./include/linux/sysctl.h:28:0,
from ./include/linux/timer.h:258,
from ./include/linux/workqueue.h:8,
from ./include/linux/srcu.h:34,
from ./include/linux/notifier.h:15,
from ./include/linux/memory_hotplug.h:6,
from ./include/linux/mmzone.h:752,
from ./include/linux/gfp.h:5,
from ./include/linux/mm.h:9,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-pgprot.h:17,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:20,
from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/nvidia/nv-frontend.c:13:
./include/linux/uidgid.h:33:21: note: previous definition of ‘__kuid_val’ was here
static inline uid_t __kuid_val(kuid_t uid)
^
In file included from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/nvidia/nv-frontend.c:13:0:
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:168:2: error: #error "struct file_operations compile test likely failed!"
#error "struct file_operations compile test likely failed!"
^
In file included from /root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/nvidia/nv-frontend.c:13:0:
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:343:2: error: #error "NV_PCI_DMA_MAPPING_ERROR() undefined!"
#error "NV_PCI_DMA_MAPPING_ERROR() undefined!"
^
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:347:6: error: "NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT" is not defined [-Werror=undef]
#if (NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT == 6)
^
/root/cuda/NVIDIA-Linux-x86_64-384.81/kernel/common/inc/nv-linux.h:349:8: error: "NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT" is not defined [-Werror=undef]
#elif (NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT == 7)
^
Let me know if you need more or have any questions.