Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Mar 2012 12:18:58 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-current@freebsd.org
Cc:        current@freebsd.org
Subject:   Re: Failure to rebuild x11/nvidia-driver on head at r233697
Message-ID:  <201203301218.58451.jhb@freebsd.org>
In-Reply-To: <20120330131833.GV1709@albert.catwhisker.org>
References:  <20120330131833.GV1709@albert.catwhisker.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, March 30, 2012 9:18:33 am David Wolfskill wrote:
> I track stable/8, stable/9, and head on (different slices on) my laptop
> on a daily basis.  I share /usr/local among all of these: while I update
> the installed ports on a daily basis, I'm unwilling to do that 3 times
> daily. :-}
> 
> The x11/nvidia-driver port is one, however, that I've found helpful to
> specify in /etc/src.conf:
> 
> g1-227(10.0-C)[3] cat /etc/src.conf
> PORTS_MODULES=x11/nvidia-driver
> g1-227(10.0-C)[4] 
> 
> so it does get rebuilt ... rather more often.
> 
> I've had no problems with this for several months running -- and there
> were no problems with stable/8 or stable/9 today.  But head failed after
> the (otherwise) successful make buildkernel:
> 
> ...
> ===> zlib (all)
> cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc   
-DHAVE_KERNEL_OPTION_HEADERS -include 
/common/S4/obj/usr/src/sys/CANARY/opt_global.h -I. -I@ -I@/contrib/altq -
finline-limit=8000 --param inline-unit-growth=100 --param large-function-
growth=1000 -fno-common -g -I/common/S4/obj/usr/src/sys/CANARY  -mno-align-
long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-sse -msoft-float -
ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -
Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -
Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-
extensions  -Wmissing-include-dirs -fdiagnostics-show-option   -c 
/usr/src/sys/modules/zlib/../../net/zlib.c
> ld  -d -warn-common -r -d -o zlib.kld zlib.o
> :> export_syms
> awk -f /usr/src/sys/conf/kmod_syms.awk zlib.kld  export_syms | xargs -J% 
objcopy % zlib.kld
> ld -Bshareable  -d -warn-common -o zlib.ko.debug zlib.kld
> objcopy --only-keep-debug zlib.ko.debug zlib.ko.symbols
> objcopy --strip-debug --add-gnu-debuglink=zlib.ko.symbols zlib.ko.debug 
zlib.ko
> cd ${PORTSDIR:-/usr/ports}/x11/nvidia-driver; SYSDIR=/usr/src/sys 
/usr/obj/usr/src/make.i386/make -B all
> ===>  License NVIDIA accepted by the user
> ===>  Found saved configuration for nvidia-driver-285.05.09
> ===>  Extracting for nvidia-driver-285.05.09
> => SHA256 Checksum OK for NVIDIA-FreeBSD-x86-285.05.09.tar.gz.
> ===>  Patching for nvidia-driver-285.05.09
> ===>   nvidia-driver-285.05.09 depends on file: 
/usr/local/libdata/pkgconfig/xorg-server.pc - found
> ===>   nvidia-driver-285.05.09 depends on shared library: GL.1 - found
> ===>  Configuring for nvidia-driver-285.05.09
> ===>  Building for nvidia-driver-285.05.09
> ===> src (all)
> @ -> /usr/src/sys
> machine -> /usr/src/sys/i386/include
> x86 -> /usr/src/sys/x86/include
> awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
> awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
> ...
> cc -O2 -pipe -fno-strict-aliasing -DNV_VERSION_STRING=\"285.05.09\" -
D__KERNEL__ -DNVRM -Wno-unused-function -O -UDEBUG -U_DEBUG -DNDEBUG -Werror -
D_KERNEL -DKLD_MODULE -nostdinc  -I. -I. -I@ -I@/contrib/altq -finline-
limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -
fno-common   -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -
mno-sse -msoft-float -ffreestanding -fstack-protector -std=iso9899:1999 -
fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-
pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-
option   -c nvidia_os_registry.c
> cc -O2 -pipe -fno-strict-aliasing -DNV_VERSION_STRING=\"285.05.09\" -
D__KERNEL__ -DNVRM -Wno-unused-function -O -UDEBUG -U_DEBUG -DNDEBUG -Werror -
D_KERNEL -DKLD_MODULE -nostdinc  -I. -I. -I@ -I@/contrib/altq -finline-
limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -
fno-common   -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -
mno-sse -msoft-float -ffreestanding -fstack-protector -std=iso9899:1999 -
fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-
pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-
option   -c nvidia_pci.c
> cc -O2 -pipe -fno-strict-aliasing -DNV_VERSION_STRING=\"285.05.09\" -
D__KERNEL__ -DNVRM -Wno-unused-function -O -UDEBUG -U_DEBUG -DNDEBUG -Werror -
D_KERNEL -DKLD_MODULE -nostdinc  -I. -I. -I@ -I@/contrib/altq -finline-
limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -
fno-common   -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -
mno-sse -msoft-float -ffreestanding -fstack-protector -std=iso9899:1999 -
fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-
pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-
option   -c nvidia_subr.c
> nvidia_subr.c: In function 'nv_alloc_contig_pages':
> nvidia_subr.c:1159: error: 'VM_MEMATTR_UNCACHED' undeclared (first use in 
this function)
> nvidia_subr.c:1159: error: (Each undeclared identifier is reported only once
> nvidia_subr.c:1159: error: for each function it appears in.)
> nvidia_subr.c: In function 'nv_alloc_system_pages':
> nvidia_subr.c:1298: error: 'VM_MEMATTR_UNCACHED' undeclared (first use in 
this function)
> *** [nvidia_subr.o] Error code 1
> 
> Stop in /common/ports/x11/nvidia-driver/work/NVIDIA-FreeBSD-
x86-285.05.09/src.
> *** [all] Error code 1
> 
> Stop in /common/ports/x11/nvidia-driver/work/NVIDIA-FreeBSD-x86-285.05.09.
> *** [do-build] Error code 1
> 
> Stop in /common/ports/x11/nvidia-driver.
> *** [build] Error code 1
> 
> Stop in /common/ports/x11/nvidia-driver.
> *** [ports-all] Error code 1
> 
> Stop in /common/S4/obj/usr/src/sys/CANARY.
> *** [buildkernel] Error code 1
> 
> Stop in /usr/src.
> *** [buildkernel] Error code 1
> 
> Stop in /usr/src.
> popd: Directory stack empty.
> print/acroreadwrapper: No such file or directory.
> popd: Directory stack empty.
> popd: Directory stack empty.
> popd: Directory stack empty.
> print/acroreadwrapper: No such file or directory.
> popd: Directory stack empty.
> popd: Directory stack empty.
> g1-227(10.0-C)[2]   
> 
> 
> This was running:
> 
> FreeBSD g1-227.catwhisker.org 10.0-CURRENT FreeBSD 10.0-CURRENT #518 
233654M: Thu Mar 29 06:12:29 PDT 2012     
root@g1-227.catwhisker.org:/usr/obj/usr/src/sys/CANARY  i386
> 
> so yesterday's build (which had no trouble with x11/nvidia-driver) was
> at r233654.  (The "M" suffix reflects changes I made locally to try to
> split VCS-dependent code out of newvers.sh.)

I've sent an e-mail to the NVIDIA driver author about how best to fix this.  
You can just change the driver to use VM_MEMATTR_UNCACHEABLE instead of 
VM_MEMATTR_UNCACHED for now.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203301218.58451.jhb>