From owner-freebsd-stable@FreeBSD.ORG Wed Nov 24 23:47:43 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80A49106566B for ; Wed, 24 Nov 2010 23:47:43 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-annu.mail.uoguelph.ca (esa-annu.mail.uoguelph.ca [131.104.91.36]) by mx1.freebsd.org (Postfix) with ESMTP id 3D9F48FC16 for ; Wed, 24 Nov 2010 23:47:42 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApwEAMIy7UyDaFvO/2dsb2JhbACDT6ArrQKQaYEhgzNzBIRbhgWFEw X-IronPort-AV: E=Sophos;i="4.59,250,1288584000"; d="scan'208";a="100157013" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-annu-pri.mail.uoguelph.ca with ESMTP; 24 Nov 2010 18:47:42 -0500 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 4D3D779396; Wed, 24 Nov 2010 18:47:42 -0500 (EST) Date: Wed, 24 Nov 2010 18:47:42 -0500 (EST) From: Rick Macklem To: Zhihao Yuan Message-ID: <2080608594.639773.1290642462300.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <20101124202745.GA56067@compaq.yuetime> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [12.16.49.138] X-Mailer: Zimbra 6.0.7_GA_2476.RHEL4 (ZimbraWebClient - IE8 (Win)/6.0.7_GA_2473.RHEL4_64) Cc: freebsd-stable@freebsd.org Subject: Re: Failed to build RELENG_8 with NFSv4 support X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Nov 2010 23:47:43 -0000 > 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