This happens now if PORTS_MODULE=x11/nvidia-driver is defined in /etc/src.conf:

[...]
--- kernel-install ---
mkdir -p /boot/kernel
install -p -m 555 -o root -g wheel kernel /boot/kernel/
--- ports-install ---
Variable OBJTOP is recursive.

make[8]: stopped
in 
/usr/obj/usr/src/amd64.amd64/sys/FY/usr/ports/x11/nvidia-driver/work/NVIDIA-FreeBSD-x86_64-387.34/src/nvidia
*** Error code 2

Stop.
make[7]: stopped
in 
/usr/obj/usr/src/amd64.amd64/sys/THOR/usr/ports/x11/nvidia-driver/work/NVIDIA-FreeBSD-x86_64-387.34/src
*** Error code 1


David sent me logs of the failing case; thanks David!

The failure happens when buildkernel and installkernel are run separately instead of all-up, e.g. 'make kernel'. The installkernel step is leaving MK_AUTO_OBJ=no in the env passed to the port build. It looks like at least one of the install stages of nvidia-driver needs to generate temporary output, which leads to confusion when the port isn't built as though it's an in-tree component.

Can you guys try out the attached patch?

Index: sys/conf/kern.post.mk
===================================================================
--- sys/conf/kern.post.mk       (revision 328489)
+++ sys/conf/kern.post.mk       (working copy)
@@ -70,7 +70,8 @@
        -u CXX \
        -u CPP \
        -u MAKESYSPATH \
-       MAKEFLAGS="${MAKEFLAGS:M*:tW:S/^-m /-m_/g:S/ -m / -m_/g:tw:N-m_*}" \
+       MK_AUTO_OBJ=yes \
+       MAKEFLAGS="${MAKEFLAGS:M*:tW:S/^-m /-m_/g:S/ -m / 
-m_/g:tw:N-m_*:NMK_AUTO_OBJ=*}" \
        SYSDIR=${SYSDIR} \
        PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \
        SRC_BASE=${SRC_BASE} \
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to