Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Nov 2010 18:47:42 -0500 (EST)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Zhihao Yuan <lichray@gmail.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Failed to build RELENG_8 with NFSv4 support
Message-ID:  <2080608594.639773.1290642462300.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <20101124202745.GA56067@compaq.yuetime>

next in thread | previous in thread | raw e-mail | index | archive | help
> I changed my working KERNCONF to support the NFSv4 server & client:
> - options NFSSERVER
> + options NFSD
> -options NFSCLIENT
> + options NFSCL
> No matter I enabled NFSLOCKD or not, I can't successfully build the
> kernel. The error message says:
> 
> linking kernel
> nlm_prot_impl.o(.text+0x11b6): In function
> `nlm_client_recovery_start':
> : undefined reference to `nlm_client_recovery'
> nlm_prot_impl.o(.text+0x3e8a): In function `nlm_syscall':
> : undefined reference to `nlm_advlock'
> nlm_prot_impl.o(.text+0x3e9c): In function `nlm_syscall':
> : undefined reference to `nlm_reclaim'
> *** Error code 1
> 
> Stop in /usr/obj/usr/src/sys/HOUKAGO.
> *** Error code 1
> 
> Stop in /usr/src.
> *** Error code 1
> 
> Stop in /usr/src.
> 
> Is this caused by an incomplete NFSCL?
> 
At the moment, nlm_advlock.c won't build without NFSCLIENT and
those functions are in nlm_advlock.c. (Because of a quirk related
to sys_ids used for locking, the experimental NFS server
"options NFSD" requires the nlm, which in turn
requires NFSCLIENT. NFSLOCKD shouldn't require NFSCLIENT, but it
uses a macro NFS_HZ which happens to use a variable in NFSCLIENT,
plus calls a function in NFSCLIENT, both of which need to be fixed.)

So, until I get the above fixed (I didn't realize it was broken
until your email, thanks for reporting it), you'll need:
options NFSCLIENT
options NFSCL
options NFSD

to get the kernel to build. It does work as a loadable module,
so you can run it without building a kernel with NFSCL, NFSD.

rick



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