> Date: Tue, 25 Nov 2014 04:07:24 +0000
> From: Ken Moffat <[email protected]>
> To: LFS Support List <[email protected]>
> Subject: Re: [lfs-support] LFS-7.2, Ch6.17, gcc-4.7.1 test failures
>
> On Mon, Nov 24, 2014 at 04:05:15PM -0800, Paul Rogers wrote:
> > 
        .
        .
> > > > Do you want the bash-4.2 ShellShock patch file posted?  It might be
        .
        .
> > > years.  But I did upload 4.2-fixes-13 in the early stages of the
> > > shellshock fixes, and Armin updated it to -14 for later fixes.  I
        .
        .
> > My patchset goes up to 4.2-53.  The ShellShock patches are very recent.


"My patchset 'goes up to 11'"; trumps everything.

;)


> > 
>  You obviously did not understand what I wrote.  Take a look at the
> dates on those two patches.  Our _fixes_ versions use different
> numbering from upstream's individual patches.
>
        .
        .
> > No, I didn't think so.  OK, answer me this, since I'm NOT an automake
> > jockey.  (Just got a book about it at Powell's by Vaughn, et al., but
> > whoa, way above my pay grade!) 


((Were you able to evaluate the book in-store - or online - prior to
purchase; the relatively-high level might've been apparent quickly. Besides,
it can be a good rule of thumb to try the package's own (electronic)
documentation first; and to beware thinking that there's 'not enough time'
to do so, while magically there is for a book. Not assuming this/that
applies to your partic case here.
))


> >  What's the difference between setting up
> > make to anticipate errors and having an error abort the whole make
> > process?  Is one of the former likely to slip past by accident and turn
> > into one of the latter?  Does gcc upstream make that sort of error?
> > 
>
>  'make -k' will carry on for as long as it can run dependencies.
> Then, it will stop and return the status.  If you use it for a
> testsuite, it can usually run the remaining tests after error(s).
> And then it reports a failure if any test failed.  If you were to
> use it for a compile, it might continue for a long time until it
> tried to link something which used whichever object file(s) had not
> been created.
>
>  Your 3 questions do not make any sense to me.  I do not understand
> the phrase "setting up make to anticipate errors".  Make always
> tests that each individual command completed with status 0, unless
> you pass -k to tell it to carry on for as long as it can.
>


Offering perhaps a little expansion on that - NB the wording:
====
Ref:    https://www.gnu.org/software/make/manual/make.html
==
"Normally make gives up immediately in this circumstance, returning a
nonzero status. However, if the '-k' or '--keep-going' flag is specified,
make continues to consider the other prerequisites of the pending targets,
remaking them if necessary, before it gives up and returns nonzero
status. For example, after an error in compiling one object file, 'make -k'
will continue compiling other object files even though it already knows
that linking them will be impossible. See Summary of Options.

The usual behavior assumes that your purpose is to get the specified
targets up to date; once make learns that this is impossible, it might as
well report the failure immediately. The '-k' option says that the real
purpose is to test as many of the changes made in the program as possible,
perhaps to find several independent problems so that you can correct them
all before the next attempt to compile. This is why Emacs' compile command
passes the '-k' flag by default."
==
"On these occasions, you should use the '-k' or '--keep-going' flag. This
tells make to continue to consider the other prerequisites of the pending
targets, remaking them if necessary, before it gives up and returns nonzero
status. For example, after an error in compiling one object file, 'make -k'
will continue compiling other object files even though it already knows
that linking them will be impossible. In addition to continuing after
failed shell commands, 'make -k' will continue as much as possible after
discovering that it does not know how to make a target or prerequisite
file. This will always cause an error message, but without '-k', it is a
fatal error (see Summary of Options).

The usual behavior of make assumes that your purpose is to get the goals up
to date; once make learns that this is impossible, it might as well report
the failure immediately. The '-k' flag says that the real purpose is to
test as much as possible of the changes made in the program, perhaps to
find several independent problems so that you can correct them all before
the next attempt to compile. This is why Emacs' M-x compile command passes
the '-k' flag by default."
==
"'-k'
'--keep-going'

    Continue as much as possible after an error. While the target that
    failed, and those that depend on it, cannot be remade, the other
    prerequisites of these targets can be processed all the same. See
    Testing the Compilation of a Program.
"
====


I'd suggest that if using '-k' then take errors beyond the first one with
a pinch/grain of salt: use of '-k' is often/normally when developing,
to ~bulldoze and uncover as many errors in one make-run as possible, so
that you can try and fix 'em all in one edit session, prior to next run
of make; and especially so if the make run is resource-intensive. But you
need to be aware of, and alert to, that - as you seem to be alluding to in
one of your questions - a later error in make-k output might be due to a
tangle-up from an earlier-reported one from same make-k run: how difficult
is it to differentiate between such errors and other (separate/standalone)
types of error in the same output, often depends inter alia on how well
you know the code.



hth,

akh





--
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wiki/Posting_style

Reply via email to