Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Feb 2016 15:20:08 -0800
From:      "Simon J. Gerraty" <sjg@juniper.net>
To:        Bryan Drewery <bdrewery@freebsd.org>
Cc:        <arch@freebsd.org>, <sjg@juniper.net>
Subject:   Re: Build -j target tags and command output
Message-ID:  <77472.1456528808@kaos.jnpr.net>
In-Reply-To: <56D0CD68.606@FreeBSD.org>
References:  <56D0CD68.606@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Bryan Drewery <bdrewery@freebsd.org> wrote:
> I'm looking for opinions on whether we should keep or remove the --

Keep.

Without them it is virtually impossible to identify which job produced
certain output.

Even with them, the log from a parallel hirerarchical build can get
confusing - especially when multiple makes are writing at the same time.
But you are still better off with some clues.

> Removing them would yield potentially hard-to-debug failures since the

Yes, pls don't do that.

> failed command could be anywhere.  At least the 'make stopped' error
> that follows would print the directory.  There is an interesting feature

Yes, but generally the exciting stuff that caused the stoppage is
earlier in the log.
The --- lines allow use of scripts to demux the output.

> in the meta mode build that will keep a log and print a more detailed
> error message on failures so you really know which directory failed and
> what environment it had, but it can be spammy as well since it prints
> the same error information on the 'another make hit an error, dying' cas=
es.

Yes, the issue is largely moot with dirdeps/meta mode build.
As your example clearly demonstrates.

Not all targets produce a .meta file, and for these you may still get
--- job lines, but they can hardly be considered an issue.

All the gory details - that you need to debug issues saved in
in the .meta file with no contamination from other jobs

> Longterm, I think a merge between DIRDEPS_BUILD output and the NetBSD
> build output makes sense and removes these --- lines entirely.  It would

With dirdeps build the noise that NetBSD outputs is just noise:

Checking /tank/home/sjg/work/NetBSD/current/src/lib/csu for i386 ...
Building /tank/home/sjg/work/NetBSD/current/obj/i386/lib/csu/gcrt0.o
Building /tank/home/sjg/work/NetBSD/current/obj/i386/lib/csu/sysident_assy=
m.h
Building /tank/home/sjg/work/NetBSD/current/obj/i386/lib/csu/crtn.o
--- gcrt0.o ---
#   compile  csu/gcrt0.o
--- sysident_assym.h ---
#    create  csu/sysident_assym.h
--- crtn.o ---
#   compile  csu/crtn.o


> DIRDEPS_BUILD output:
> =

> > ~/git/freebsd # WITH_DIRDEPS_BUILD=3Dyes make -C bin/sh -j15
> ...
> > --- /root/git/freebsd/bin/sh.amd64,amd64 1334 ---
> > @ 1456524548 [2016-02-26 14:09:08] Checking /root/git/freebsd/bin/sh f=
or amd64,amd64 ...
> > Building /usr/obj/root/git/freebsd/amd64.amd64/bin/sh/.dirdep
> > Building /usr/obj/root/git/freebsd/amd64.amd64/bin/sh/builtins.c
> > Building /usr/obj/root/git/freebsd/amd64.amd64/bin/sh/mknodes.o
> > Building /usr/obj/root/git/freebsd/amd64.amd64/bin/sh/mksyntax.o
> > Building /usr/obj/root/git/freebsd/amd64.amd64/bin/sh/token.h
> > Building /usr/obj/root/git/freebsd/amd64.amd64/bin/sh/stage_incs

> > Building /usr/obj/root/git/freebsd/amd64.amd64/bin/sh/stage_symlinks.m=
an1
> > Building /usr/obj/root/git/freebsd/amd64.amd64/bin/sh/stage_links.man1
> > Checking /root/git/freebsd/bin/sh/Makefile.depend: .dirdep.meta builti=
ns.c.meta mknodes.o.meta mksyntax.o.meta token.h.meta stage_incs.meta mksy=
ntax.meta mknodes.meta
> > @ 1456524550 [2016-02-26 14:09:10] Finished bin/sh.amd64,amd64 seconds=
=3D2 meta=3D49  created=3D49



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