GNU bug report logs - #61867
dirstamp pattern rule kills buildability with FreeBSD make, NetBSD make, AIX make

Previous Next

Package: automake;

Reported by: Bruno Haible <bruno <at> clisp.org>

Date: Tue, 28 Feb 2023 12:48: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 61867 in the body.
You can then email your comments to 61867 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#61867; Package automake. (Tue, 28 Feb 2023 12:48:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bruno Haible <bruno <at> clisp.org>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Tue, 28 Feb 2023 12:48:02 GMT) Full text and rfc822 format available.

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

From: Bruno Haible <bruno <at> clisp.org>
To: bug-automake <at> gnu.org
Cc: Mike Frysinger <vapier <at> gentoo.org>, Jim Meyering <jim <at> meyering.net>
Subject: dirstamp pattern rule kills buildability with FreeBSD make,
 NetBSD make, AIX make
Date: Tue, 28 Feb 2023 13:47:06 +0100
[Message part 1 (text/plain, inline)]
Hi,

FreeBSD 13.1 'make', NetBSD 9.0 'make', AIX 7.1 and 7.2 'make' are perfectly
fine for building many GNU packages, even as VPATH builds.

Jim Meyering has now put out a tarball for testing, that uses bleeding-edge
Automake:
https://lists.gnu.org/archive/html/platform-testers/2023-02/msg00012.html

When I build this tarball on FreeBSD, NetBSD, or AIX — in srcdir or as a
VPATH build, does not matter —, the build fails, like this:

 ------------------------------------------------------
...
  CC       libgreputils_a-getopt1.o
  CC       libgreputils_a-getprogname.o
make: 1254-002 Cannot find a rule to create target malloc/.dirstamp from dependencies.
Stop.
make: 1254-004 The error code from the last command is 2.


Stop.
make: 1254-004 The error code from the last command is 1.


Stop.
make: 1254-004 The error code from the last command is 2.


Stop.
 ------------------------------------------------------

This is a regression, caused by the bleeding-edge Automake, because when I
unpack the tarball and then (with Automake 1.16.5 in $PATH) do
  aclocal -I m4
  automake
  touch configure
  touch config.hin
it does not exhibit this build failure any more.

Find attached the diff between lib/Makefile (that fails) and lib/Makefile
(that comes from Automake 1.16.5 and works fine). You can see that with
individual rules for malloc/$(am__dirstamp), glthread/$(am__dirstamp),
unistr/$(am__dirstamp), uniwidth/$(am__dirstamp) the build works fine,
whereas with the pattern rule
  %/$(am__dirstamp)
it fails.

I guess that the commit "dirstamp: switch to a pattern rule" is the culprit.
https://git.savannah.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=55f8fcfd08cbf15d65d61dd2db934b6c3171cf06

Bruno

[makefiles.diff (text/x-patch, attachment)]

Information forwarded to bug-automake <at> gnu.org:
bug#61867; Package automake. (Tue, 28 Feb 2023 23:17:01 GMT) Full text and rfc822 format available.

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

From: Karl Berry <karl <at> freefriends.org>
To: bruno <at> clisp.org
Cc: vapier <at> gentoo.org, jim <at> meyering.net, 61867 <at> debbugs.gnu.org
Subject: Re: bug#61867: dirstamp pattern rule kills buildability with FreeBSD
 make, NetBSD make, AIX make
Date: Tue, 28 Feb 2023 16:16:26 -0700
    I guess that the commit "dirstamp: switch to a pattern rule" is the culprit.
    https://git.savannah.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=55f8fcfd08cbf15d65d61dd2db934b6c3171cf06

Thanks Bruno. I reverted (attempted to, anyway) that change.
Hope it flies. Closing this, in hopes ... -k




Reply sent to Karl Berry <karl <at> freefriends.org>:
You have taken responsibility. (Tue, 28 Feb 2023 23:17:02 GMT) Full text and rfc822 format available.

Notification sent to Bruno Haible <bruno <at> clisp.org>:
bug acknowledged by developer. (Tue, 28 Feb 2023 23:17:02 GMT) Full text and rfc822 format available.

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

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

From: Bruno Haible <bruno <at> clisp.org>
To: Karl Berry <karl <at> freefriends.org>
Cc: vapier <at> gentoo.org, jim <at> meyering.net, 61867 <at> debbugs.gnu.org
Subject: Re: bug#61867: dirstamp pattern rule kills buildability with FreeBSD
 make, NetBSD make, AIX make
Date: Wed, 01 Mar 2023 01:00:34 +0100
Karl Berry wrote:
> I reverted (attempted to, anyway) that change.

Thank you.

> since evidently @D is not supported on BSD-derived makes,
> whatever POSIX says.

Nitpicking:

I think the problem is not with $(@D), which is inside the rule.
The error message

   Cannot find a rule to create target malloc/.dirstamp

indicates that 'make' did not even start to execute that rule.

Bruno







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

This bug report was last modified 1 year ago.

Previous Next


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