failed to build on RHEL 8.4
Windywind opened this issue · comments
NVIDIA Open GPU Kernel Modules Version
535.146.02
Operating System and Version
Red Hat Enterprise Linux release 8.4 (Ootpa)
Kernel Release
Linux rhel-edge 4.18.0-305.el8.x86_64 #1 SMP Thu Apr 29 08:54:30 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux
Build Command
make modules -j$(nproc)
Terminal output/Build Log
# make modules -j$(nproc)
make -C src/nvidia
make -C src/nvidia-modeset
make[1]: Entering directory '/root/open-gpu-kernel-modules-535.146.02/src/nvidia-modeset'
make[1]: Entering directory '/root/open-gpu-kernel-modules-535.146.02/src/nvidia'
[ nvidia-modeset ] XZ _out/Linux_x86_64/maxwell_shaders.xz
[ nvidia-modeset ] XZ _out/Linux_x86_64/pascal_shaders.xz
[ nvidia-modeset ] XZ _out/Linux_x86_64/volta_shaders.xz
[ nvidia-modeset ] XZ _out/Linux_x86_64/turing_shaders.xz
[ nvidia-modeset ] XZ _out/Linux_x86_64/ampere_shaders.xz
[ nvidia-modeset ] XZ _out/Linux_x86_64/hopper_shaders.xz
[ nvidia ] CC generated/g_access_cntr_buffer_nvoc.c
[ nvidia ] CC generated/g_all_dcl_pb.c
[ nvidia ] CC generated/g_bindata.c
[ nvidia ] CC generated/g_binary_api_nvoc.c
[ nvidia ] CC generated/g_ccsl_nvoc.c
[ nvidia ] CC generated/g_ce_utils_nvoc.c
[ nvidia ] CC generated/g_channel_descendant_nvoc.c
[ nvidia ] CC generated/g_chips2halspec_nvoc.c
[ nvidia ] CC generated/g_chipset_nvoc.c
[ nvidia ] CC generated/g_client_nvoc.c
......
<omitted output>
......
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_range_allocator.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_va_range.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_va_policy.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_va_block.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_range_group.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_gpu_replayable_faults.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_gpu_non_replayable_faults.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_gpu_access_counters.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_perf_events.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_perf_module.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_mmu.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_pte_batch.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_tlb_batch.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_push.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_pushbuffer.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_thread_context.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_tracker.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_maxwell.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_maxwell_host.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_maxwell_ce.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_maxwell_mmu.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_maxwell_fault_buffer.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_maxwell_access_counter_buffer.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_pascal.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_pascal_ce.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_pascal_host.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_pascal_mmu.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_pascal_fault_buffer.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_volta_ce.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_volta_host.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_volta_mmu.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_volta.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_volta_fault_buffer.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_volta_access_counter_buffer.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_turing.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_turing_access_counter_buffer.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_turing_fault_buffer.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_turing_mmu.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_turing_host.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ampere.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ampere_ce.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ampere_host.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ampere_mmu.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_hopper.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_hopper_fault_buffer.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_hopper_ce.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_hopper_host.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_hopper_mmu.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ada.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_policy.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_perf_utils.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_kvmalloc.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_pmm_sysmem.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_pmm_gpu.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_migrate.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_populate_pageable.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_migrate_pageable.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_map_external.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_user_channel.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_hmm.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_perf_heuristics.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_perf_thrashing.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_perf_prefetch.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_ibm.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_test.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_test_rng.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_range_tree_test.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_range_allocator_test.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_gpu_semaphore_test.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_mem_test.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_rm_mem_test.o
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c: In function ‘ats_compute_residency_mask’:
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:296:10: error: ‘struct hmm_range’ has no member named ‘notifier’
range.notifier = &ats_context->prefetch_state.notifier;
^
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:299:11: error: ‘struct hmm_range’ has no member named ‘hmm_pfns’; did you mean ‘pfns’?
range.hmm_pfns = ats_context->prefetch_state.pfns;
^~~~~~~~
pfns
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:302:10: error: ‘struct hmm_range’ has no member named ‘dev_private_owner’
range.dev_private_owner = NULL;
^
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:311:45: error: ‘struct hmm_range’ has no member named ‘notifier’
ret = mmu_interval_notifier_insert(range.notifier, mm, start, end, &uvm_ats_notifier_ops);
^
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:316:14: error: ‘struct hmm_range’ has no member named ‘notifier_seq’
range.notifier_seq = mmu_interval_read_begin(range.notifier);
^
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:316:59: error: ‘struct hmm_range’ has no member named ‘notifier’
range.notifier_seq = mmu_interval_read_begin(range.notifier);
^
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:317:15: error: too few arguments to function ‘hmm_range_fault’
ret = hmm_range_fault(&range);
^~~~~~~~~~~~~~~
In file included from /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:34:
/usr/src/kernels/4.18.0-305.el8.x86_64/include/linux/hmm.h:487:6: note: declared here
long hmm_range_fault(struct hmm_range *range, bool block);
^~~~~~~~~~~~~~~
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:335:43: error: ‘struct hmm_range’ has no member named ‘notifier’
if (!mmu_interval_read_retry(range.notifier, range.notifier_seq))
^
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:335:59: error: ‘struct hmm_range’ has no member named ‘notifier_seq’
if (!mmu_interval_read_retry(range.notifier, range.notifier_seq))
^
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:346:53: warning: passing argument 1 of ‘hmm_pfn_to_page’ makes pointer from integer without a cast [-Wint-conversion]
struct page *page = hmm_pfn_to_page(pfn);
^~~
In file included from /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:34:
/usr/src/kernels/4.18.0-305.el8.x86_64/include/linux/hmm.h:321:68: note: expected ‘const struct hmm_range *’ but argument is of type ‘long unsigned int’
static inline struct page *hmm_pfn_to_page(const struct hmm_range *range,
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:346:37: error: too few arguments to function ‘hmm_pfn_to_page’
struct page *page = hmm_pfn_to_page(pfn);
^~~~~~~~~~~~~~~
In file included from /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:34:
/usr/src/kernels/4.18.0-305.el8.x86_64/include/linux/hmm.h:321:28: note: declared here
static inline struct page *hmm_pfn_to_page(const struct hmm_range *range,
^~~~~~~~~~~~~~~
/root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.c:358:39: error: ‘struct hmm_range’ has no member named ‘notifier’
mmu_interval_notifier_remove(range.notifier);
^
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_page_tree_test.o
CC [M] /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_tracker_test.o
make[4]: *** [/usr/src/kernels/4.18.0-305.el8.x86_64/scripts/Makefile.build:315: /root/open-gpu-kernel-modules-535.146.02/kernel-open/nvidia-uvm/uvm_ats_faults.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [/usr/src/kernels/4.18.0-305.el8.x86_64/Makefile:1563: _module_/root/open-gpu-kernel-modules-535.146.02/kernel-open] Error 2
make[3]: Leaving directory '/usr/src/kernels/4.18.0-305.el8.x86_64'
make[2]: *** [Makefile:157: sub-make] Error 2
make[2]: Leaving directory '/usr/src/kernels/4.18.0-305.el8.x86_64'
make[1]: *** [Makefile:82: modules] Error 2
make[1]: Leaving directory '/root/open-gpu-kernel-modules-535.146.02/kernel-open'
make: *** [Makefile:59: modules] Error 2
More Info
Similar error messages were seen when I tried to install from official driver .run file when I specify "-m=open-kernel".
I googled but found nothing helpful. Please kindly help.
According to https://access.redhat.com/sites/default/files/images/rhel_8_life_cycle_8_0620_planning_0.png it seems that RHEL 8.4 it already out of Extended Update Support. I have installed lowest available - 8.6 and the driver compiles properly. I'd suggest the OS update. If there is no way for that, please let us know.