automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: preparing for a new release


From: Karl Berry
Subject: Re: preparing for a new release
Date: Sun, 15 Nov 2020 19:52:13 -0700

Hi Jim - (and thanks for the test runs and logs, Gavin)

      make -k check TESTS='t/txinfo-no-clutter' \
                    AM_TESTSUITE_MAKE="make -j$(( 2*$(nproc) + 1 ))"

I know little about programming for parallel (auto)make, but I'm
guessing that with the above invocation, the make commands inside the
test are also being run in parallel?

As far as I can see, this test is simply not set up to support that. It
essentially runs, for every format being built by texi2dvi:
  make FMT && make clean 

Thus it seems to me that one make clean could be cleaning the .dvi while
the next make ps is trying to use it. 

And/or, maybe dependencies are missing. all-local is depending on
"ps pdf dvi html", so I suppose they'll get spawned in parallel.  And the
only dependency I'm seeing is the suffix rule, .dvi.ps, so maybe the
purportedly intermediate .dvi is getting removed by one of the parallel
makes?  So I tried adding

.PRECIOUS: %.dvi

to both Makefile.am's, and the fancy make command above then succeeded.
Does that get around the problem for you?  Doesn't exactly seem like the
best fix, though, since ordinarily one would want the intermediate file
to be deleted. Maybe it would be cleaner to just force serialization of
the makes inside this test? Is that possible?

Further:

1) I am not smart enough to tell what's actually happening from the log
since there's no indication of which make is doing what (and I can't
even imagine how that could be indicated). How does one ever debug these
things for sure?

2) I had not seen AM_TESTSUITE_MAKE before. I was running tests simply
with make -j12 TARGET, and there the test does not fail -- not
surprisingly, I guess, since then (I think) the makes inside the test
are not being run in parallel.

3) I can't see why this is anything new. That test has not changed since
2012. The mentioned bug
(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=11146) describes the
commit at that time as improving the test wrt parallelism.  Thus I
surmise no one has ever tried with a parallel AM_TESTSUITE_MAKE before now.

4) I feel surprised that this parallelism does not cause trouble with
other tests that involve suffix rules, like yacc or lex. I don't see
.PRECIOUS being used in any other test, aside from precious.sh. But
maybe no other test is doing quite what txinfo-no-clutter is.

Thanks,
Karl




reply via email to

[Prev in Thread] Current Thread [Next in Thread]