From owner-freebsd-current@FreeBSD.ORG Mon Jul 18 15:19:28 2005 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 21D7F16A41C; Mon, 18 Jul 2005 15:19:28 +0000 (GMT) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (comp.chem.msu.su [158.250.32.97]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4CB7643D48; Mon, 18 Jul 2005 15:19:27 +0000 (GMT) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (localhost [127.0.0.1]) by comp.chem.msu.su (8.13.3/8.13.3) with ESMTP id j6IFJPjb036854; Mon, 18 Jul 2005 19:19:25 +0400 (MSD) (envelope-from yar@comp.chem.msu.su) Received: (from yar@localhost) by comp.chem.msu.su (8.13.3/8.13.3/Submit) id j6IFJO23036848; Mon, 18 Jul 2005 19:19:24 +0400 (MSD) (envelope-from yar) Date: Mon, 18 Jul 2005 19:19:24 +0400 From: Yar Tikhiy To: current@freebsd.org Message-ID: <20050718151924.GF26849@comp.chem.msu.su> References: <20050714101507.GA82562@comp.chem.msu.su> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050714101507.GA82562@comp.chem.msu.su> User-Agent: Mutt/1.5.9i Cc: peter@freebsd.org Subject: Re: Build failure in procfs module X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 15:19:28 -0000 On Thu, Jul 14, 2005 at 02:15:07PM +0400, Yar Tikhiy wrote: > Hi folks, > > I ran into a problem that might be triggered by Peter's recent > changes to procfs. Namely, the buildworld procedure would fail in > the procfs module if MODULES_WITH_WORLD were set. I noticed it > first in CURRENT and then tested it in a clean environment by > building a freshly CVSup'd RELENG_6 on a freshly installed 5.4-RELEASE, > with MODULES_WITH_WORLD set. I think it's a route of upgrading > quite a few people will follow. > > Here's the diagnostics: > > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > > ===> sys/modules/procfs (depend) > @ -> /usr/src/sys > machine -> /usr/src/sys/i386/include > awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -p > awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -q > awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -h > rm -f .depend > mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/obj/usr/src/tmp/usr/include /usr/src/sys/modules/procfs/../../fs/procfs/procfs_ctl.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_dbregs.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_fpregs.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_ioctl.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_map.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_mem.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_note.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_regs.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_rlimit.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_status.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs_type.c /usr/src/sys/modules/procfs/../../fs/procfs/procfs.c > /usr/src/sys/modules/procfs/../../fs/procfs/procfs_dbregs.c:46:24: opt_compat.h: No such file or directory > /usr/src/sys/modules/procfs/../../fs/procfs/procfs_fpregs.c:40:24: opt_compat.h: No such file or directory > /usr/src/sys/modules/procfs/../../fs/procfs/procfs_ioctl.c:31:24: opt_compat.h: No such file or directory > /usr/src/sys/modules/procfs/../../fs/procfs/procfs_map.c:38:24: opt_compat.h: No such file or directory > /usr/src/sys/modules/procfs/../../fs/procfs/procfs_regs.c:40:24: opt_compat.h: No such file or directory > mkdep: compile failed > *** Error code 1 > > Stop in /usr/src/sys/modules/procfs. > > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% The problem appears to have to do with Peter's changes to procfs: The procfs source files now include opt_compat.h, which is not available by default when building with MODULES_WITH_WORLD set. The attached patch seems to fix the problem in the conventional way. However, I'm unsure which COMPAT_* options are really needed to the procfs module. COMPAT_43 should be enough according to my quick examining /sys/fs/procfs. -- Yar Index: Makefile =================================================================== RCS file: /home/ncvs/src/sys/modules/procfs/Makefile,v retrieving revision 1.28 diff -u -r1.28 Makefile --- Makefile 26 Oct 2002 14:38:22 -0000 1.28 +++ Makefile 18 Jul 2005 15:07:44 -0000 @@ -3,7 +3,7 @@ .PATH: ${.CURDIR}/../../fs/procfs KMOD= procfs -SRCS= +SRCS= opt_compat.h SRCS+= vnode_if.h SRCS+= procfs_ctl.c SRCS+= procfs_dbregs.c @@ -26,4 +26,7 @@ EXPORT_SYMS+= procfs_doprocmem EXPORT_SYMS+= procfs_notsystem +opt_compat.h: + echo "#define COMPAT_43 1" > ${.TARGET} + .include