Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Apr 2001 11:04:05 +0300
From:      Ruslan Ermilov <ru@FreeBSD.ORG>
To:        nnd@mail.nsk.ru
Cc:        current@FreeBSD.ORG
Subject:   Re: groff breaks "make -j N buildworld"
Message-ID:  <20010419110405.B75677@sunbay.com>
In-Reply-To: <200104190322.f3J3M8w56668@wint.itfs.nsk.su>; from nnd@mail.nsk.ru on Thu, Apr 19, 2001 at 10:22:08AM %2B0700
References:  <20010418091825.A75054@troutmask.apl.washington.edu> <200104190322.f3J3M8w56668@wint.itfs.nsk.su>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi!

I always thought that ``obj'', ``all'' and ``install'' should be
executed in sequence, not together.  Hey, this even does not work
for bin/cat:

$ uname -a
FreeBSD dev.lan.Awfulhak.org 5.0-CURRENT FreeBSD 5.0-CURRENT #7: Wed Apr 18 14:07:56 BST 2001     brian@dev.lan.Awfulhak.org:/usr/obj/usr/src/sys/DEV  i386
$ make obj
/usr/obj/net/gate/home/ru/cat created for /net/gate/home/ru/cat
$ make -j32 all install -DNOMAN DESTDIR=/tmp/1 BINDIR=/bin BINOWN=ru
cc -O -pipe    -I/tmp/1/usr/include -c /net/gate/home/ru/cat/cat.c
install -c -s -o ru -g wheel -m 555   cat /tmp/1/bin
install: cat: No such file or directory
*** Error code 71
1 error
$ make -j32 all install -DNOMAN DESTDIR=/tmp/1 BINDIR=/bin BINOWN=ru
install -c -s -o ru -g wheel -m 555   cat /tmp/1/bin
install: cat: No such file or directory
*** Error code 71
cc -O -pipe    -I/tmp/1/usr/include  -o cat cat.o
1 error
$ make -j32 all install -DNOMAN DESTDIR=/tmp/1 BINDIR=/bin BINOWN=ru
install -c -s -o ru -g wheel -m 555   cat /tmp/1/bin
$

OTOH, this seems like a bug in make(1), as the following patch makes
-j32 bootstrap-tools happy in gnu/usr.bin/groff/tmac:

Index: Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/groff/tmac/Makefile,v
retrieving revision 1.27
diff -u -r1.27 Makefile
--- Makefile	2001/04/17 12:37:18	1.27
+++ Makefile	2001/04/19 08:01:52
@@ -58,6 +58,7 @@
 	cd ${.CURDIR}; \
 	    ${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
 	    hyphen.us-ru ${DESTDIR}${TMACDIR}
+	cd ${.OBJDIR}
 .for f in ${STRIPFILES} ${SPECIALFILES}
 	${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
 	    $f-s ${DESTDIR}${TMACDIR}/$f

On Thu, Apr 19, 2001 at 10:22:08AM +0700, nnd@mail.nsk.ru wrote:
> In <20010418091825.A75054@troutmask.apl.washington.edu> Steve Kargl wrote:
> 	........
> > install -C -c -s -o root -g wheel -m 555   tfmtodit /usr/obj/usr/src/i386/usr/bin
> > ===> tmac
> > install -C -c -o root -g wheel -m 444  e.tmac-s /usr/obj/usr/src/i386/usr/share/tmac/e.tmac
> > install: e.tmac-s: No such file or directory
> > *** Error code 71
> > 1 error
> > 
> > A standard "make buildworld" appears to work.
> > 
> > troutmask:kargl[351] grep FreeBSD /usr/src/Makefile.inc1
> > # $FreeBSD: src/Makefile.inc1,v 1.197 2001/04/18 12:20:28 ru Exp $
> 
> 	The next patch allows me to 'make -j32 all install' in
> 'src/gnu/usr.bin/groff/tmac'.
> 
> 	N.Dudorov
> 
> Index: Makefile
> ===================================================================
> RCS file: /scratch/CVS/src/gnu/usr.bin/groff/tmac/Makefile,v
> retrieving revision 1.27
> diff -b -u -r1.27 Makefile
> --- Makefile	2001/04/17 12:37:18	1.27
> +++ Makefile	2001/04/19 03:14:14
> @@ -37,7 +37,7 @@
>  STRIPFILES=	e.tmac doc.tmac mdoc.local
>  MDOCFILES=	doc-common doc-ditroff doc-nroff doc-syms koi8-r
>  
> -all: ${MDOCFILES:S/$/-s/} ${STRIPFILES:S/$/-s/} ${SPECIALFILES:S/$/-s/}
> +all: ${MDOCFILES:S/$/-s/} ${STRIPFILES:S/$/-s/} ${SPECIALFILES:S/$/-s/} ${MAN}
>  
>  .for f in ${MDOCFILES} ${STRIPFILES}
>  $f-s: $f
> @@ -51,6 +51,8 @@
>  		${.ALLSRC} > ${.TARGET}
>  .endfor
>  
> +.ORDER: all beforeinstall
> +
>  beforeinstall:
>  	cd ${DIST_DIR}; \
>  	    ${INSTALL} -c -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
> @@ -59,14 +61,17 @@
>  	    ${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
>  	    hyphen.us-ru ${DESTDIR}${TMACDIR}
>  .for f in ${STRIPFILES} ${SPECIALFILES}
> +	cd ${.OBJDIR}; \
>  	${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
>  	    $f-s ${DESTDIR}${TMACDIR}/$f
>  .endfor
>  .for f in ${MDOCFILES}
> +	cd ${.OBJDIR}; \
>  	${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
>  	    $f-s ${DESTDIR}${MDOCDIR}/$f
>  .endfor
>  .if !exists(${DESTDIR}${TMACDIR}/man.local)
> +	cd ${.OBJDIR}; \
>  	${INSTALL} -c -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
>  	    ${DIST_DIR}/man.local ${DESTDIR}${TMACDIR}
>  .endif
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message

-- 
Ruslan Ermilov		Oracle Developer/DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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