octave-bug-tracker
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]