GNU bug report logs - #31157
Advice for help2man does not work for parallel builds

Previous Next

Package: automake;

Reported by: Reuben Thomas <rrt <at> sc3d.org>

Date: Sat, 14 Apr 2018 23:50:02 UTC

Severity: minor

Full log


View this message in rfc822 format

From: Reuben Thomas <rrt <at> sc3d.org>
To: 31157 <at> debbugs.gnu.org
Subject: bug#31157: Advice for help2man does not work for parallel builds
Date: Sun, 15 Apr 2018 00:48:59 +0100
[Message part 1 (text/plain, inline)]
In the manual, we are given the following pattern for using help2man
without breaking make distcheck:

     foo.1: foo.c $(top_srcdir)/configure.ac
             $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
             help2man --output=foo.1 ./foo$(EXEEXT)

The problem is that with make -j this can result in two attempts to make a
library in parallel (suppose that we have:

    foo_LDADD = libfoo.la
    lib_LTLIBRARIES = libfoo.la

). This can fail, and in any case is wasteful.

I'm using automake 1.15. I can't see anything since then that fixes this
problem.

The best workaround I could come up with was to revert the dependency to​

​     foo.1: foo$(EXEEXT)

and then set distcleancheck_listfiles appropriately. Obviously, since this
could hide other problems in the build system, it's not ideal.

Am I missing a better solution? If so, it should be added to the manual. If
not, this problem should probably be documented. I'm finding that parallel
make is becoming a must-have rather than a nice boost, given the
proliferation of slow multi-core machines (for example: -j makes it
feasible to hack on my phone; without it, builds are painfully slow).

-- 
https://rrt.sc3d.org
[Message part 2 (text/html, inline)]

This bug report was last modified 7 years and 55 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.