Created attachment 204505 [details] patch Hi, The nvidia driver fails to build for me on head r347988 in poudriere with the error at the end of the message (full log available if needed). I have fixed with the simple attached patch, and it works fine here, although I'm not sure it's the correct patch to apply for everyone. ===> src/nvidia-modeset (all) --- machine --- --- x86 --- --- machine --- machine -> /usr/src/sys/amd64/include --- x86 --- x86 -> /usr/src/sys/x86/include --- nvidia-modeset-freebsd.o --- cc -O2 -pipe -march=nehalem -fno-strict-aliasing -DNV_VERSION_STRING=\"390.87\" -Werror=undef -march=nehalem -Werror -D_KERNEL -DKLD_MODULE -nostdinc -Imachine -I/usr/src/sys/sys -I../common/inc -I. -I/usr/src/sys -I/usr/src/sys/contrib/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/sys/x86/include -MD -MF.depend.nvidia-modeset-freebsd.o -MTnvidia-modeset-freebsd.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -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-compare -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 -mno-aes -mno-avx -std=iso9899:1999 -c nvidia-modeset-freebsd.c -o nvidia-modeset-freebsd.o nvidia-modeset-freebsd.c:233:5: error: implicit declaration of function 'mtx_lock' is invalid in C99 [-Werror,-Wimplicit-function-declaration] mtx_lock(&popen->events.lock); ^ nvidia-modeset-freebsd.c:233:5: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] nvidia-modeset-freebsd.c:239:5: error: implicit declaration of function 'mtx_unlock' is invalid in C99 [-Werror,-Wimplicit-function-declaration] mtx_unlock(&popen->events.lock); ^ nvidia-modeset-freebsd.c:239:5: note: did you mean 'mtx_lock'? nvidia-modeset-freebsd.c:233:5: note: 'mtx_lock' declared here mtx_lock(&popen->events.lock); ^ nvidia-modeset-freebsd.c:239:5: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] mtx_unlock(&popen->events.lock); ^ nvidia-modeset-freebsd.c:257:9: error: implicit declaration of function 'mtx_init' is invalid in C99 [-Werror,-Wimplicit-function-declaration] mtx_init(&ref_ptr->lock, "nvkms-ref-ptr-lock", NULL, MTX_SPIN); ^ nvidia-modeset-freebsd.c:257:9: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] nvidia-modeset-freebsd.c:257:62: error: use of undeclared identifier 'MTX_SPIN' mtx_init(&ref_ptr->lock, "nvkms-ref-ptr-lock", NULL, MTX_SPIN); ^ nvidia-modeset-freebsd.c:276:5: error: implicit declaration of function 'mtx_lock_spin' is invalid in C99 [-Werror,-Wimplicit-function-declaration] mtx_lock_spin(&ref_ptr->lock); ^ nvidia-modeset-freebsd.c:276:5: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] nvidia-modeset-freebsd.c:278:5: error: implicit declaration of function 'mtx_unlock_spin' is invalid in C99 [-Werror,-Wimplicit-function-declaration] mtx_unlock_spin(&ref_ptr->lock); ^ nvidia-modeset-freebsd.c:278:5: note: did you mean 'mtx_lock_spin'? nvidia-modeset-freebsd.c:276:5: note: 'mtx_lock_spin' declared here mtx_lock_spin(&ref_ptr->lock);
*** Bug 238024 has been marked as a duplicate of this bug. ***
A similar patch has been proposed in phabricator: https://reviews.freebsd.org/D20350
A commit references this bug: Author: danfe Date: Wed May 22 07:49:41 UTC 2019 New revision: 502258 URL: https://svnweb.freebsd.org/changeset/ports/502258 Log: Unbreak the build after base (src) r347984. PR: 238018 Differential Revision: https://reviews.freebsd.org/D20350 Changes: head/x11/nvidia-driver/Makefile
Fix had been committed as ports r502258, thank you.