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.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#61867: dirstamp pattern rule kills buildability with FreeBSD make, NetBSD make, AIX make
which was filed against the automake package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 61867 <at> debbugs.gnu.org.
--
61867: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61867
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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
[Message part 3 (message/rfc822, inline)]
[Message part 4 (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)]
This bug report was last modified 2 years and 86 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.