We cannot use 'make -j' option to build the world, period.

2000-11-04 Thread Makoto MATSUSHITA


matusita I've found that current src/sys/modules/linux for RELENG_4
matusita is not 'make -j' safe. It maybe causes a problem if you want
matusita to make a module.

Long time has past and, but problem is still there.

OK, we all FreeBSD users should forget the fact that there is an
option '-j' in make(1) and it's helpful for building FreeBSD. I dunno
what it should be, but 'linux' modules breaks the existing situation.
Documentation team, you should delete some comments of this option in
cutting-edge/chapter.sgml.

Moreover, I've found that exactly the same problem is also in latest
5-current (I've tested with 'make -j 2'). Be careful that some
programs are called twice.

=== linux
@ - /usr/src/sys
machine - /usr/src/sys/i386/include
echo "#define COMPAT_43 1"  opt_compat.h
touch opt_linux.h
touch opt_vmpage.h
perl @/kern/vnode_if.pl -h @/kern/vnode_if.src
sh @/kern/makesyscalls.sh @/i386/linux/syscalls.master @/i386/linux/syscalls.cof
sh @/kern/makesyscalls.sh @/i386/linux/syscalls.master @/i386/linux/syscalls.cof
sed -e 's|i386/linux/linux_proto\.h|linux_proto.h|g'  linux_sysent.c  
linux_sysnt.c.fixup
sed -e 's|i386/linux/linux_proto\.h|linux_proto.h|g'  linux_sysent.c  
linux_sysnt.c.fixup
mv -f linux_sysent.c.fixup linux_sysent.c
mv -f linux_sysent.c.fixup linux_sysent.c
cc -c -O -pipe  -D_KERNEL -Wall -Wredundant-decls -Wnested-externs -Wstrict-prottypes  
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -fformat-extenions -ansi 
-DKLD_MODULE -nostdinc -I- -I. -I@ -I@/../include -I/usr/include  
-preferred-stack-boundary=2 /usr/src/sys/modules/linux/../../i386/linux/linux_genssym.c
mv: rename linux_sysent.c.fixup to linux_sysent.c: No such file or directory
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2

Stop in /usr/src/release.

***

for [EMAIL PROTECTED] (or hosokawa-san) only:

There is yet another compilation problem in kernel modules. A logfile
attached below comes from 'createBOOTMFS' stage of src/release/Makefile

rm -f .depend
mv -f .newdep .depend
cd ../../modules  env MAKEOBJDIRPREFIX=/usr/src/sys/compile/BOOTMFS/modules KMODIR= 
make obj all
=== 3dfx
=== 3dfx
Warning: Object directory not changed from original /usr/src/sys/modules/3dfx
@ - /usr/src/sys
machine - /usr/src/sys/i386/include
/usr/src/sys/compile/BOOTMFS/modules/usr/src/sys/modules/3dfx created for 
/usr/sr/sys/modules/3dfx

Be careful, '3dfx' directory is called twice, and one of them doesn't
know that there is an obj/ directory. Maybe it is introduced by the
changes of cool and long-awaited feature of driver.conf.

-- -
Makoto `MAR' MATSUSHITA


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: We cannot use 'make -j' option to build the world, period.

2000-11-04 Thread David O'Brien

On Sat, Nov 04, 2000 at 05:19:44PM +0900, Makoto MATSUSHITA wrote:
 
 matusita I've found that current src/sys/modules/linux for RELENG_4
 matusita is not 'make -j' safe. It maybe causes a problem if you want
 matusita to make a module.
 
 Long time has past and, but problem is still there.
 
 OK, we all FreeBSD users should forget the fact that there is an
 option '-j' in make(1) and it's helpful for building FreeBSD. I dunno

AFAIK, we've never really supported -j for kernel building (which the
linux module is part of).  -j makes for world should certainly still
work.

Or you could help debug the problem and submit at Makefile patch. :-)

-- 
-- David  ([EMAIL PROTECTED])
  GNU is Not Unix / Linux Is Not UniX


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: We cannot use 'make -j' option to build the world, period.

2000-11-04 Thread Makoto MATSUSHITA


dcs Err, we have been supporting -j for kernel building for a LONG
dcs time. The "depend" and "install" targets did not support it, but
dcs support on the "all" target is about as old as support on the
dcs "buildworld" target.

AFAIK, that's right.

Obrien, please check src/release/Makeefile commitlog of revision
1.536.2.15 (for 4-stable) and 1.557 (for current) via CVSweb (or whatever):
http://www.freebsd.org/cgi/cvsweb.cgi/src/release/Makefile

You can see two make variable, WORLD_FLAGS and KERNEL_FLAGS, to pass
some options such as -jX to make(1) if you want to do make release.

obrien Or you could help debug the problem and submit at Makefile patch. :-)

Maybe that's great, but sorry I don't have a time to do now...

-- -
Makoto `MAR' MATSUSHITA


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: We cannot use 'make -j' option to build the world, period.

2000-11-04 Thread Warner Losh

In message [EMAIL PROTECTED] "David O'Brien" writes:
: AFAIK, we've never really supported -j for kernel building (which the
: linux module is part of).  -j makes for world should certainly still
: work.

Yes, but it has worked fairly well with values up to -j 10 on the
machines I have access to at work :-)

: Or you could help debug the problem and submit at Makefile patch. :-)

I usually do a make -j 3 NO_MODULES=yes and then a separate make for
the modules.

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message