[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #47745] build fails to rebuild Texinfo sources
From: |
Mike Miller |
Subject: |
[Octave-bug-tracker] [bug #47745] build fails to rebuild Texinfo sources until second make all |
Date: |
Thu, 21 Apr 2016 00:20:40 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 |
URL:
<http://savannah.gnu.org/bugs/?47745>
Summary: build fails to rebuild Texinfo sources until second
make all
Project: GNU Octave
Submitted by: mtmiller
Submitted on: Wed 20 Apr 2016 05:20:38 PM PDT
Category: Configuration and Build System
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Build Failure
Status: None
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: dev
Operating System: Any
_______________________________________________________
Details:
When rebuilding a modified Octave build tree, the make dependencies fail to
recognize that the DOCSTRINGS files may be updated, which requires rebuilding
doc/interpreter/*.texi, and recursively the manual files. A second make
finishes the build. I'm labeling as a build failure because a single "make
all" should be all that's required.
This has something to do with the way the libinterp/DOCSTRINGS and
scripts/DOCSTRINGS files are declared, because we don't want to have to
rebuild them for users who download the source tarball, but we do want to
rebuild them if the source actually changes any docstrings.
Make needs to statically analyze all dependency paths. There is a dependency
from *.texi to the DOCSTRINGS, but not from DOCSTRINGS to the source files,
intentionally. But this is the cause of the build error.
This was mentioned earlier in a comment on bug #46063, but deserves being
tracked on its own.
Here is an example that triggers this bug for me every time:
## in build dir, which is one level under source dir
$ make all
$ make all
## everything is now built
$ vim ../scripts/help/help.m
## introduce a typo or some change to the texinfo block and save
$ make -j all
## a few GEN rules show, but nothing actually needs to be rebuilt
$ make -j all
## now make sees new DOCSTRINGS and rebuilds doc/interpreter
It has to be a parallel build. I think with a non-parallel build it works
simply by accident of the order that the "all" targets are listed.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?47745>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Octave-bug-tracker] [bug #47745] build fails to rebuild Texinfo sources until second make all,
Mike Miller <=