New to forum. Previous installs of the driver have been faultless. Not this time. Installing from the command prompt.
Linux-x86_64-384.69 and previous versions(going back four)fail at 100% of the module build with the following error on kernel 4.6 and then 4.10.12.
OKAY UNTIL:
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-kthread-q.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-kthread-q-selftest.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-memdbg.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv_uvm_interface.o
/tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv_uvm_interface.c: In function ‘nvUvmInterfaceDeRegisterUvmOps’:
/tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv_uvm_interface.c:991:5: error: implicit declaration of function ‘NV_ON_EACH_CPU’ [-Werror=implicit-function-declaration]
NV_ON_EACH_CPU(flush_top_half, NULL, 1);
^~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-4.12.10/scripts/Makefile.build:303: /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv_uvm_interface.o] Error 1
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nvlink_linux.o
SYMLINK /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-kernel.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta_host.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta_fault_buffer.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta_access_counter_buffer.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_ats_numa.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_non_replayable_faults.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_access_counters.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_utils.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_common.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_linux.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/nvstatus.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/nv-kthread-q.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/nv-kthread-q-selftest.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_tools.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_global.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_isr.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_procfs.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_space.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_semaphore.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_mem.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_rm_mem.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_channel.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_lock.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_hal.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_tree.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_allocator.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_range.o
CC [M] /tmp/selfgz2970/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_block.o
Yes it says that a function isn’t being declared. In this case ‘NV_ON_EACH_CPU’. But that function is only present in the Nvidia driver itself. I expected it elsewhere and it not being found?
Much earlier drivers had similar errors, but I imagined it was fixed
Actually, one of the engineers here managed to reproduce the problem and confirmed that enabling CONFIG_SMP fixes it. He has a change ready that should appear in a future release.
That change has indeed got rid of the errors, but the build is now halting and not finishing. This is exasperating. An exerpt
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] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-frontend.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-instance.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-acpi.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-chrdev.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-cray.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-dma.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-gvi.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-i2c.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-mempool.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-mmap.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-p2p.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-pat.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-procfs.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-usermap.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-vm.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-vtophys.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-interface.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-mlock.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-pci.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-registry.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-usermap.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-modeset-interface.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-pci-table.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-kthread-q.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-kthread-q-selftest.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-memdbg.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv_uvm_interface.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nvlink_linux.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta_host.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta_fault_buffer.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta_access_counter_buffer.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_ats_numa.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_non_replayable_faults.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_access_counters.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_utils.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_common.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_linux.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/nvstatus.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/nv-kthread-q.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/nv-kthread-q-selftest.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_tools.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_global.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_isr.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_procfs.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_space.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_semaphore.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_mem.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_rm_mem.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_channel.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_lock.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_hal.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_tree.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_allocator.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_range.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_block.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_group.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_replayable_faults.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_events.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_module.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_mmu.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pte_batch.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_tlb_batch.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_push.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pushbuffer.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_thread_context.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_tracker.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kepler.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kepler_ce.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kepler_host.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kepler_mmu.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_maxwell.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_maxwell_host.o
CC [M] /tmp/selfgz3070/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pascal.o