From owner-freebsd-stable Sun Nov 12 21:58:29 2000 Delivered-To: freebsd-stable@freebsd.org Received: from updraft.jp.freebsd.org (updraft.jp.FreeBSD.ORG [210.157.158.42]) by hub.freebsd.org (Postfix) with ESMTP id BF04237B479; Sun, 12 Nov 2000 21:58:21 -0800 (PST) Received: from castle2.jp.FreeBSD.org (castle2.jp.FreeBSD.org [210.226.20.120]) by updraft.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id OAA97405; Mon, 13 Nov 2000 14:58:19 +0900 (JST) (envelope-from matusita@jp.FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by castle2.jp.FreeBSD.org (8.11.0+3.3W/8.11.0) with ESMTP/inet id eAD5wHs80310; Mon, 13 Nov 2000 14:58:17 +0900 (JST) (envelope-from matusita@jp.FreeBSD.org) In-Reply-To: <3A085F93.BC245A53@cup.hp.com> References: <3A085F93.BC245A53@cup.hp.com> X-Face: '*aj"d@ijeQ:/X}]oM5c5Uz{ZZZk90WPt>a^y4$cGQp8:!H\W=hSM;PuNiidkc]/%,;6VGu e+`&APmz|P;F~OL/QK%;P2vU>\j4X.8@i%j6[%DTs_3J,Fff0)*oHg$A.cDm&jc#pD24WK@{,"Ef!0 P\):.2}8jo-BiZ?X&t$V X-User-Agent: Mew/1.94.2 XEmacs/21.2 (Notus) X-FaceAnim: (-O_O-)(O_O- )(_O- )(O- )(- -)( -O)( -O_)( -O_O)(-O_O-) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Dispatcher: imput version 20000228(IM140) Lines: 76 From: Makoto MATSUSHITA To: current@FreeBSD.org, stable@FreeBSD.org Subject: "make modules" kicks the first module directory twice Date: Mon, 13 Nov 2000 14:58:12 +0900 Message-Id: <20001113145812F.matusita@jp.FreeBSD.org> Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG (Strip down To: address, maybe it's only -current problem so I send this email to current@FreeBSD.ORG also. Set appropriate Subject:. -- MAR) marcel> Makoto-san mentioned there's a problem with 3dfx. Is this marcel> still the case or has it been resolved? Unfortunately, no. It seems that nobody use -j option already :-) *** Most audiences doesn't understand what's the problem (it's my fault). I've checked again, and here is "how to reproduce the problem easily": (Prepare fresh kernel source code tree; this example uses /usr/src/sys.) % cd /usr/src/sys/conf/GENERIC; config GENERIC (... stuff deleted ...) % cd ../../compile/GENERIC % make -j 2 modules cd ../../modules && env MAKEOBJDIRPREFIX=/usr/src/sys/compile/GENERIC/modules KMODDIR=/boot/kernel make obj all ===> 3dfx ===> 3dfx Warning: Object directory not changed from original /usr/src/sys/modules/3dfx (... ok, break it ...) '3dfx' directory is kicked twice. Apparantly, the one assumes that /usr/src/sys/modules/3dfx is an object directory, and yet another one assumes maybe /usr/src/sys/compile/GENERIC/modules is an object directory (this is correct). Note that make(1) uses only one directory for module building (I dunno why), so if the former one is used, the latter one is simply ignored (again, I dunno why). It's O.K. if /usr/src/sys/compile/GENERIC/modules is used correctly; however, what will happen if only /usr/src/sys/modules/3dfx is used as an object directory? -- that's problem. So... you cannot supply the make variable, KERNEL_FLAG='-j 2', to your "make release" since you've hit this problem. Don't blame '3dfx' module. It's simply the first module directory listed in SUBDIRS variable; you can see the same problem even if you change the order of SUBDIRS directories. I tried to fix, but sorry I cannot find an answer. However, here is an escape of this problem: Index: Makefile =================================================================== RCS file: /lab/FreeBSD/FreeBSD.cvs/src/release/Makefile,v retrieving revision 1.585 diff -c -r1.585 Makefile *** Makefile 2000/11/12 11:04:11 1.585 --- Makefile 2000/11/13 05:37:12 *************** *** 831,837 **** @rm -f ${RD}/kernels/*.ko @cd ${.CURDIR}/../sys/${MACHINE}/conf && config ${KERNEL} @cd ${.CURDIR}/../sys/compile/${KERNEL} && \ ! make kernel-depend && \ make ${KERNEL_FLAGS} modules && \ make modules-reinstall DESTDIR=${RD}/kernels && \ --- 831,837 ---- @rm -f ${RD}/kernels/*.ko @cd ${.CURDIR}/../sys/${MACHINE}/conf && config ${KERNEL} @cd ${.CURDIR}/../sys/compile/${KERNEL} && \ ! make modules-depend && \ make ${KERNEL_FLAGS} modules && \ make modules-reinstall DESTDIR=${RD}/kernels && \ It does not fix this problem. However, if we separate the execution of "make obj" and "make all", we can avoid (again, not *fix*) the problem. Maybe this change is reasonable; there is few meaning doing "make kernel-depend" in "doMODULES" target. -- - Makoto `MAR' MATSUSHITA To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message