GNU bug report logs - #62791
BUILT_SOURCES not honoured in parallel build?

Previous Next

Package: automake;

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

Date: Wed, 12 Apr 2023 15:18:02 UTC

Severity: normal

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 62791 in the body.
You can then email your comments to 62791 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Wed, 12 Apr 2023 15:18:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Reuben Thomas <rrt <at> sc3d.org>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Wed, 12 Apr 2023 15:18:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Reuben Thomas <rrt <at> sc3d.org>
To: bug-automake <bug-automake <at> gnu.org>
Subject: BUILT_SOURCES not honoured in parallel build?
Date: Wed, 12 Apr 2023 16:17:07 +0100
[Message part 1 (text/plain, inline)]
I am bootstrapping GNU a2ps git master[1] with automake 1.16.5. When I do a
parallel build (in my case, MAKEFLAGS=-j4), I get build failures sometimes:

$ make all
make  all-am
make[1]: Entering directory '/home/rrt/.local/var/repo/a2ps/src'
  YACC     parsessh.c
  CC       libparse_a-lexssh.o
/home/rrt/repo/a2ps/src/ylwrap1077905
lexssh.c:38:11: fatal error: parsessh.h: No such file or directory
   38 |  #include "parsessh.h"
      |           ^~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:1710: libparse_a-lexssh.o] Error 1
make[1]: *** Waiting for unfinished jobs....
parsessh.output is unchanged
updating parsessh.h
make[1]: Leaving directory '/home/rrt/.local/var/repo/a2ps/src'
make: *** [Makefile:1514: all] Error 2

But parsessh.h is listed in BUILT_SOURCES, so it should be built before any
other target.

[1] git clone https://git.savannah.gnu.org/git/a2ps.git

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

Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Wed, 12 Apr 2023 17:00:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Reuben Thomas <rrt <at> sc3d.org>
To: bug-automake <bug-automake <at> gnu.org>
Subject: Re: BUILT_SOURCES not honoured in parallel build?
Date: Wed, 12 Apr 2023 17:59:01 +0100
[Message part 1 (text/plain, inline)]
On Wed, 12 Apr 2023 at 16:17, Reuben Thomas <rrt <at> sc3d.org> wrote:

> I am bootstrapping GNU a2ps git master[1] with automake 1.16.5. When I do
> a parallel build (in my case, MAKEFLAGS=-j4), I get build failures
> sometimes:
>

In fact, I don't need to do a parallel build, just build serially from a
fresh git checkout, to reproduce this problem. It seems that I must be
doing something wrong, but I can't work out what!

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

Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Wed, 12 Apr 2023 17:15:02 GMT) Full text and rfc822 format available.

Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Reuben Thomas <rrt <at> sc3d.org>
To: bug-automake <bug-automake <at> gnu.org>
Subject: Re: BUILT_SOURCES not honoured in parallel build?
Date: Wed, 12 Apr 2023 18:14:09 +0100
[Message part 1 (text/plain, inline)]
On Wed, 12 Apr 2023 at 17:59, Reuben Thomas <rrt <at> sc3d.org> wrote:

> On Wed, 12 Apr 2023 at 16:17, Reuben Thomas <rrt <at> sc3d.org> wrote:
>
>> I am bootstrapping GNU a2ps git master[1] with automake 1.16.5. When I do
>> a parallel build (in my case, MAKEFLAGS=-j4), I get build failures
>> sometimes:
>>
>
> In fact, I don't need to do a parallel build, just build serially from a
> fresh git checkout, to reproduce this problem. It seems that I must be
> doing something wrong, but I can't work out what!
>

I think I've worked it out: I need to add the .c file that is generated
from the .y file, not the .h file, to BUILT_SOURCES. Certainly, doing that
fixes the problem.

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

Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Sun, 03 Dec 2023 03:48:02 GMT) Full text and rfc822 format available.

Message #14 received at 62791 <at> debbugs.gnu.org (full text, mbox):

From: Mike Frysinger <vapier <at> gentoo.org>
To: Reuben Thomas <rrt <at> sc3d.org>
Cc: 62791 <at> debbugs.gnu.org
Subject: Re: bug#62791: BUILT_SOURCES not honoured in parallel build?
Date: Sat, 2 Dec 2023 22:47:07 -0500
[Message part 1 (text/plain, inline)]
On 12 Apr 2023 18:14, Reuben Thomas via Bug reports for Automake wrote:
> On Wed, 12 Apr 2023 at 17:59, Reuben Thomas <rrt <at> sc3d.org> wrote:
> > On Wed, 12 Apr 2023 at 16:17, Reuben Thomas <rrt <at> sc3d.org> wrote:
> >
> >> I am bootstrapping GNU a2ps git master[1] with automake 1.16.5. When I do
> >> a parallel build (in my case, MAKEFLAGS=-j4), I get build failures
> >> sometimes:
> >
> > In fact, I don't need to do a parallel build, just build serially from a
> > fresh git checkout, to reproduce this problem. It seems that I must be
> > doing something wrong, but I can't work out what!
> 
> I think I've worked it out: I need to add the .c file that is generated
> from the .y file, not the .h file, to BUILT_SOURCES. Certainly, doing that
> fixes the problem.

we prob could add a .y/.l example to the manual.  i think i tripped over this
error myself in a project in the past.  i think you want to list both files.
-mike
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Wed, 06 Dec 2023 16:09:01 GMT) Full text and rfc822 format available.

Message #17 received at 62791 <at> debbugs.gnu.org (full text, mbox):

From: Reuben Thomas <rrt <at> sc3d.org>
To: Mike Frysinger <vapier <at> gentoo.org>
Cc: 62791 <at> debbugs.gnu.org
Subject: Re: bug#62791: BUILT_SOURCES not honoured in parallel build?
Date: Wed, 6 Dec 2023 16:07:50 +0000
[Message part 1 (text/plain, inline)]
On Sun, 3 Dec 2023 at 03:47, Mike Frysinger <vapier <at> gentoo.org> wrote:

> >
> > I think I've worked it out: I need to add the .c file that is generated
> > from the .y file, not the .h file, to BUILT_SOURCES. Certainly, doing
> that
> > fixes the problem.
>
> we prob could add a .y/.l example to the manual.  i think i tripped over
> this
> error myself in a project in the past.  i think you want to list both
> files.
>

Thanks for the tip; on a belt-and-braces basis, it seems it can't hurt
anyway, so I've added the .h file back as well.

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

Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Wed, 06 Dec 2023 22:00:02 GMT) Full text and rfc822 format available.

Message #20 received at 62791 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: rrt <at> sc3d.org
Cc: 62791 <at> debbugs.gnu.org, vapier <at> gentoo.org
Subject: Re: bug#62791: BUILT_SOURCES not honoured in parallel build?
Date: Wed, 6 Dec 2023 14:59:41 -0700
Any chance that one of you could write a patch for the manual to explain
whatever needs to be explained (better)? --thanks, karl.




Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Fri, 08 Dec 2023 12:47:02 GMT) Full text and rfc822 format available.

Message #23 received at 62791 <at> debbugs.gnu.org (full text, mbox):

From: Reuben Thomas <rrt <at> sc3d.org>
To: Karl Berry <karl <at> freefriends.org>
Cc: 62791 <at> debbugs.gnu.org, vapier <at> gentoo.org
Subject: Re: bug#62791: BUILT_SOURCES not honoured in parallel build?
Date: Fri, 8 Dec 2023 12:45:42 +0000
[Message part 1 (text/plain, inline)]
On Wed, 6 Dec 2023 at 23:59, Karl Berry <karl <at> freefriends.org> wrote:

> Any chance that one of you could write a patch for the manual to explain
> whatever needs to be explained (better)? --thanks, karl.
>

I'd happily do that if I could work out, or someone could explain, exactly
what's going on here.

The manual currently says: "You should never explicitly mention the
intermediate (C or C++) file in any ‘SOURCES’ variable; only list the
source file." Later, it talks about adding the header file to
"BUIILT_SOURCES". This seems at odds with what Mike said and I found
empirically.

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

Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Fri, 08 Dec 2023 22:04:02 GMT) Full text and rfc822 format available.

Message #26 received at 62791 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: rrt <at> sc3d.org
Cc: 62791 <at> debbugs.gnu.org, vapier <at> gentoo.org
Subject: Re: bug#62791: BUILT_SOURCES not honoured in parallel build?
Date: Fri, 8 Dec 2023 15:03:34 -0700
    The manual currently says: "You should never explicitly mention the
    intermediate (C or C++) file in any `SOURCES' variable; only list
    the source file."  

I don't know the code here, and this probably wasn't the question, but I
think the manual's statement about "any `SOURCES' variables" was simply
not meant to apply to BUILT_SOURCES (probably didn't think about it),
but rather to the "normal" something_SOURCES variables. So my gut
reaction is to add "(except @code{BUILT_SOURCES}, see below)".

    Later, it talks about adding the header file to
    "BUIILT_SOURCES". This seems at odds with what Mike said and I found
    empirically.

I suggest that we could just say to add both files, although if you want
to try to understand what's actually going on, more power to you :).

Best,
Karl





Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Sat, 09 Dec 2023 13:17:01 GMT) Full text and rfc822 format available.

Message #29 received at 62791 <at> debbugs.gnu.org (full text, mbox):

From: Reuben Thomas <rrt <at> sc3d.org>
To: Karl Berry <karl <at> freefriends.org>
Cc: 62791 <at> debbugs.gnu.org, vapier <at> gentoo.org
Subject: Re: bug#62791: BUILT_SOURCES not honoured in parallel build?
Date: Sat, 9 Dec 2023 13:16:12 +0000
[Message part 1 (text/plain, inline)]
On Sat, 9 Dec 2023 at 00:03, Karl Berry <karl <at> freefriends.org> wrote:

>     The manual currently says: "You should never explicitly mention the
>     intermediate (C or C++) file in any `SOURCES' variable; only list
>     the source file."
>
> I don't know the code here, and this probably wasn't the question, but I
> think the manual's statement about "any `SOURCES' variables" was simply
> not meant to apply to BUILT_SOURCES (probably didn't think about it),
>

I did wonder that myself.

but rather to the "normal" something_SOURCES variables. So my gut
> reaction is to add "(except @code{BUILT_SOURCES}, see below)".
>
>     Later, it talks about adding the header file to
>     "BUIILT_SOURCES". This seems at odds with what Mike said and I found
>     empirically.
>
> I suggest that we could just say to add both files, although if you want
> to try to understand what's actually going on, more power to you :).
>

In terms of solving the problem, that would seem the safer option.

If you're happy with that, I'll write a patch.

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

Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Sat, 09 Dec 2023 13:32:02 GMT) Full text and rfc822 format available.

Message #32 received at 62791 <at> debbugs.gnu.org (full text, mbox):

From: Reuben Thomas <rrt <at> sc3d.org>
To: Karl Berry <karl <at> freefriends.org>
Cc: 62791 <at> debbugs.gnu.org, vapier <at> gentoo.org
Subject: Re: bug#62791: BUILT_SOURCES not honoured in parallel build?
Date: Sat, 9 Dec 2023 13:30:59 +0000
[Message part 1 (text/plain, inline)]
On Sat, 9 Dec 2023 at 15:16, Reuben Thomas <rrt <at> sc3d.org> wrote:

>
> If you're happy with that, I'll write a patch.
>

Patch attached.

-- 
https://rrt.sc3d.org
[Message part 2 (text/html, inline)]
[0001-doc-add-advice-to-list-Yacc-Lex-generated-sources-in.patch (text/x-patch, attachment)]

Information forwarded to bug-automake <at> gnu.org:
bug#62791; Package automake. (Sun, 10 Dec 2023 23:15:01 GMT) Full text and rfc822 format available.

Message #35 received at 62791 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: rrt <at> sc3d.org
Cc: 62791 <at> debbugs.gnu.org, vapier <at> gentoo.org
Subject: Re: bug#62791: BUILT_SOURCES not honoured in parallel build?
Date: Sun, 10 Dec 2023 16:13:46 -0700
    Patch attached.

Looks just fine. Thanks Reuben. I installed it. Closing ...
--all the best, karl.




Reply sent to Karl Berry <karl <at> freefriends.org>:
You have taken responsibility. (Sun, 10 Dec 2023 23:15:02 GMT) Full text and rfc822 format available.

Notification sent to Reuben Thomas <rrt <at> sc3d.org>:
bug acknowledged by developer. (Sun, 10 Dec 2023 23:15:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 08 Jan 2024 12:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 80 days ago.

Previous Next


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