GNU bug report logs -
#18436
Error building 8.23 with builddir != srcdir and --disable-dependency-tracking
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 18436 in the body.
You can then email your comments to 18436 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-coreutils <at> gnu.org
:
bug#18436
; Package
coreutils
.
(Tue, 09 Sep 2014 19:58:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
"Daniel Richard G." <skunk <at> iSKUNK.ORG>
:
New bug report received and forwarded. Copy sent to
bug-coreutils <at> gnu.org
.
(Tue, 09 Sep 2014 19:58:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
I normally build with --disable-dependency-tracking to speed up builds,
and also build out-of-tree, and got this with the latest coreutils:
$ cd /foo/bar/coreutils-8.23
$ mkdir _build
$ cd _build
$ ../configure --disable-dependency-tracking
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
[...]
$ make
[...]
GEN lib/unistr.h
GEN lib/unitypes.h
GEN lib/uniwidth.h
GEN lib/wchar.h
GEN lib/wctype.h
GEN src/coreutils.h
/bin/sh: src/coreutils.ht: No such file or directory
gmake: *** [src/coreutils.h] Error 1
--Daniel
--
Daniel Richard G. || skunk <at> iSKUNK.ORG
My ASCII-art .sig got a bad case of Times New Roman.
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#18436
; Package
coreutils
.
(Fri, 19 Sep 2014 16:46:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 18436 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
forcemerge 18055 18436
stop
On 09/09/2014 08:57 PM, Daniel Richard G. wrote:
> I normally build with --disable-dependency-tracking to speed up builds,
> and also build out-of-tree, and got this with the latest coreutils:
>
> $ cd /foo/bar/coreutils-8.23
> $ mkdir _build
> $ cd _build
> $ ../configure --disable-dependency-tracking
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> [...]
> $ make
> [...]
> GEN lib/unistr.h
> GEN lib/unitypes.h
> GEN lib/uniwidth.h
> GEN lib/wchar.h
> GEN lib/wctype.h
> GEN src/coreutils.h
> /bin/sh: src/coreutils.ht: No such file or directory
> gmake: *** [src/coreutils.h] Error 1
This is essentially the same issue as http://bugs.gnu.org/18055
I'm guessing tha dependency tracking is disabled there too for the distro
as it's not needed for once off builds, and then doing parallel make
builds compounds the issue.
We could fix it for GNU and solaris make but break on BSD
(since it doesn't support included makefiles) like:
diff --git a/man/local.mk b/man/local.mk
index f2d1357..0464cf1 100644
--- a/man/local.mk
+++ b/man/local.mk
@@ -78,7 +78,7 @@ man/dynamic-deps.mk: Makefile
&& mv $@-t $@
# Include the generated man dependencies.
-@AMDEP_TRUE@@am__include@ man/dynamic-deps.mk
+@am__include@ man/dynamic-deps.mk
We could work nicely for all once off builds like,
but require rebuilding all man pages for any change for devs with:
diff --git a/man/local.mk b/man/local.mk
index f2d1357..888ff10 100644
--- a/man/local.mk
+++ b/man/local.mk
@@ -41,7 +41,7 @@ distclean-local:
test x$(srcdir) = x$(builddir) || rm -f $(ALL_MANS)
# Dependencies common to all man pages. Updated below.
-mandeps =
+mandeps = $(bin_PROGRAMS)
# Depend on this to get version number changes.
mandeps += .version
@@ -77,9 +77,6 @@ man/dynamic-deps.mk: Makefile
done > $@-t \
&& mv $@-t $@
-# Include the generated man dependencies.
-@AMDEP_TRUE@@am__include@ man/dynamic-deps.mk
It would be nice to rely on GNU make for dynamic rules or
order-only prerequisites which would nicely handle things.
However it's best to stick with portable make for now
due to the low level nature of coreutils which might be
required to build gnu make etc. for example.
Instead the attached patch simplifies things by avoiding
the dynamically generated makefile entirely.
There are still a few foibles with parallel make syntax-check
in --enable-single-binary mode, but I've a handle on that edge case
which we can fix up later.
thanks,
Pádraig.
[help2man-dep-fixes.patch (text/x-patch, attachment)]
Forcibly Merged 18055 18436.
Request was from
Pádraig Brady <P <at> draigBrady.com>
to
control <at> debbugs.gnu.org
.
(Fri, 19 Sep 2014 16:46:03 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#18436
; Package
coreutils
.
(Fri, 19 Sep 2014 19:20:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 18436 <at> debbugs.gnu.org (full text, mbox):
On 09/19/2014 06:36 PM, Pádraig Brady wrote:
> Subject: [PATCH] build: fix dependency issues with man page generation
>
> * .gitignore: Remove reference to no longer generated make file.
> * configure.ac: Don't bother generating placeholder make file.
> * man/local.mk: Hardcode the man page deps list for normal builds
> to be compatible with all make implementations and configure options.
> Note in SINGLE_BINARY mode, all man pages will be generated on
> any change to the coreutils binary, but development will generally
> not be done in this mode, so this shouldn't be an issue.
It is:
$ make clean
$ make
$ make syntax-check -j
...
help2man: can't get `--help' info from man/coreutils.td/coreutils
Try `--no-discard-stderr' if option outputs to stderr
prohibit_inttostr_without_use
prohibit_jm_in_m4
make: *** [man/coreutils.1] Error 127
make: *** Waiting for unfinished jobs....
This only goes away without -j here.
Otherwise +1.
Thanks & have a nice day,
Berny
Reply sent
to
Pádraig Brady <P <at> draigBrady.com>
:
You have taken responsibility.
(Fri, 19 Sep 2014 22:36:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
"Daniel Richard G." <skunk <at> iSKUNK.ORG>
:
bug acknowledged by developer.
(Fri, 19 Sep 2014 22:36:03 GMT)
Full text and
rfc822 format available.
Message #18 received at 18436-done <at> debbugs.gnu.org (full text, mbox):
On 09/19/2014 08:19 PM, Bernhard Voelker wrote:
> On 09/19/2014 06:36 PM, Pádraig Brady wrote:
>> Subject: [PATCH] build: fix dependency issues with man page generation
>>
>> * .gitignore: Remove reference to no longer generated make file.
>> * configure.ac: Don't bother generating placeholder make file.
>> * man/local.mk: Hardcode the man page deps list for normal builds
>> to be compatible with all make implementations and configure options.
>> Note in SINGLE_BINARY mode, all man pages will be generated on
>> any change to the coreutils binary, but development will generally
>> not be done in this mode, so this shouldn't be an issue.
>
> It is:
>
> $ make clean
> $ make
> $ make syntax-check -j
> ...
> help2man: can't get `--help' info from man/coreutils.td/coreutils
> Try `--no-discard-stderr' if option outputs to stderr
> prohibit_inttostr_without_use
> prohibit_jm_in_m4
> make: *** [man/coreutils.1] Error 127
> make: *** Waiting for unfinished jobs....
>
> This only goes away without -j here.
Oops, all that was missing for that case was
an entry for coreutils.1 in the static dependency list.
Pity we can't use a GNU pattern rule here,
and portable suffix rules can't have prerequisites.
Note pattern rules seem widely supported, which is tempting.
Anyway I added coreutils.1 to the list and pushed.
thanks for the review,
Pádraig.
Reply sent
to
Pádraig Brady <P <at> draigBrady.com>
:
You have taken responsibility.
(Fri, 19 Sep 2014 22:36:03 GMT)
Full text and
rfc822 format available.
Notification sent
to
Andreas Schwab <schwab <at> linux-m68k.org>
:
bug acknowledged by developer.
(Fri, 19 Sep 2014 22:36:04 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
.
(Sat, 18 Oct 2014 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 10 years and 251 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.