GNU bug report logs -
#61867
dirstamp pattern rule kills buildability with FreeBSD make, NetBSD make, AIX make
Previous Next
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.
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):
[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):
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):
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 2 years and 46 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.