Problem with NVIDIA drivers 390 and 470 on current
- Reply: David Wolfskill : "Re: Problem with NVIDIA drivers 390 and 470 on current"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 26 Sep 2022 02:30:07 UTC
Hi all,
I'm updated my box to last 14-current today and I get error on ports compialtion.
% uname -a
FreeBSD valfenda 14.0-CURRENT FreeBSD 14.0-CURRENT #17 main-1a2b55732f: Sun Sep 25 21:14:19 -03 2022 rizzo@valfenda:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64
When I try to install a nvidia driver from ports, I get this error:
cc -O2 -pipe -fno-strict-aliasing -DNV_VERSION_STRING=\"390.151\" -D__KERNEL__ -DNVRM -Wno-unused-function -Wuninitialized -O2 -fno-strict-aliasing -mno-red-zone -mcmode
l=kernel -Wno-sign-compare -Wno-format-extra-args -UDEBUG -U_DEBUG -DNDEBUG -DNV_SPECTRE_V2=1 -DNV_KERNEL_INTERFACE_LAYER -Werror=undef -Werror -D_KERNEL -DKLD_MODULE -n
ostdinc -I. -I../common/inc -include /usr/ports/x11/nvidia-driver-390/work/NVIDIA-FreeBSD-x86_64-390.151/src/nvidia/opt_global.h -I. -I/usr/src/sys -I/usr/src/sys/contri
b/ck/include -fno-common -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdebug-prefix-map=./machine=/usr/src/sys/amd64/include -fdebug-prefix-map=./x86=/usr/src/s
ys/x86/include -fdebug-prefix-map=./i386=/usr/src/sys/i386/include -MD -MF.depend.nvlink_freebsd.o -MTnvlink_freebsd.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-ss
e -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -
Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error=tautological-compar
e -Wno-error=empty-body -Wno-error=parentheses-equality -Wno-error=unused-function -Wno-error=pointer-sign -Wno-error=shift-negative-value -Wno-address-of-packed-member -
Wno-format-zero-length -mno-aes -mno-avx -std=iso9899:1999 -c nvlink_freebsd.c -o nvlink_freebsd.o
--- nvidia_os.o ---
nvidia_os.c:280:19: error: incompatible integer to pointer conversion passing 'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *' [-Werror,-Wint-conversion]
pmap_unmapdev((vm_offset_t)address, size);
^~~~~~~~~~~~~~~~~~~~
./machine/pmap.h:511:26: note: passing argument to parameter here
void pmap_unmapdev(void *, vm_size_t);
^
1 error generated.
*** [nvidia_os.o] Error code 1
make[4]: stopped in /usr/ports/x11/nvidia-driver-390/work/NVIDIA-FreeBSD-x86_64-390.151/src/nvidia
--- nvidia_subr.o ---
nvidia_subr.c:1133:13: error: incompatible pointer to integer conversion assigning to 'vm_offset_t' (aka 'unsigned long') from 'void *' [-Werror,-Wint-conversion]
address = NV_KMEM_ALLOC_CONTIG(size, flags, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nvidia_subr.c:1182:22: error: incompatible integer to pointer conversion passing 'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *' [-Werror,-Wint-conversi
on]
NV_KMEM_FREE(at->pte_array[0].virtual_address, at->size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nv-freebsd.h:416:15: note: expanded from macro 'NV_KMEM_FREE'
kmem_free(address, size)
^~~~~~~
/usr/src/sys/vm/vm_extern.h:73:22: note: passing argument to parameter 'addr' here
void kmem_free(void *addr, vm_size_t size);
^
nvidia_subr.c:1208:18: error: incompatible integer to pointer conversion passing 'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *' [-Werror,-Wint-conversi
on]
NV_KMEM_FREE(at->pte_array[0].virtual_address, at->size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nv-freebsd.h:416:15: note: expanded from macro 'NV_KMEM_FREE'
kmem_free(address, size)
^~~~~~~
/usr/src/sys/vm/vm_extern.h:73:22: note: passing argument to parameter 'addr' here
void kmem_free(void *addr, vm_size_t size);
^
nvidia_subr.c:1271:17: error: incompatible pointer to integer conversion assigning to 'vm_offset_t' (aka 'unsigned long') from 'void *' [-Werror,-Wint-conversion]
address = NV_KMEM_ALLOC_CONTIG(PAGE_SIZE, flags, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nvidia_subr.c:1325:22: error: incompatible integer to pointer conversion passing 'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *' [-Werror,-Wint-conversi
on]
NV_KMEM_FREE(at->pte_array[i].virtual_address, PAGE_SIZE);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nv-freebsd.h:416:15: note: expanded from macro 'NV_KMEM_FREE'
kmem_free(address, size)
^~~~~~~
/usr/src/sys/vm/vm_extern.h:73:22: note: passing argument to parameter 'addr' here
void kmem_free(void *addr, vm_size_t size);
^
nvidia_subr.c:1354:22: error: incompatible integer to pointer conversion passing 'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *' [-Werror,-Wint-conversi
on]
NV_KMEM_FREE(at->pte_array[i].virtual_address, PAGE_SIZE);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nv-freebsd.h:416:15: note: expanded from macro 'NV_KMEM_FREE'
kmem_free(address, size)
^~~~~~~
/usr/src/sys/vm/vm_extern.h:73:22: note: passing argument to parameter 'addr' here
void kmem_free(void *addr, vm_size_t size);
^
6 errors generated.
*** [nvidia_subr.o] Error code 1
make[4]: stopped in /usr/ports/x11/nvidia-driver-390/work/NVIDIA-FreeBSD-x86_64-390.151/src/nvidia
2 errors
make[4]: stopped in /usr/ports/x11/nvidia-driver-390/work/NVIDIA-FreeBSD-x86_64-390.151/src/nvidia
make[3]: stopped in /usr/ports/x11/nvidia-driver-390/work/NVIDIA-FreeBSD-x86_64-390.151/src
make[2]: stopped in /usr/ports/x11/nvidia-driver-390/work/NVIDIA-FreeBSD-x86_64-390.151
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/x11/nvidia-driver-390
*** Error code 1
Stop.
make: stopped in /usr/ports/x11/nvidia-driver-390
#
TIA
Nilton J. Rizzo