octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fwd: Re: make failed


From: Mike Miller
Subject: Re: Fwd: Re: make failed
Date: Fri, 1 Jul 2016 10:45:18 -0700
User-agent: Mutt/1.6.0 (2016-04-01)

On Fri, Jul 01, 2016 at 19:11:20 +0200, Ernst Reissner wrote:
> Ok I touched dvi,pdf and ps.
> Then I reran make several times.
> Final result (repeatedly):
> address@hidden:~/Octave/octave/.build> make
> HG-ID is unchanged
>   GEN      oct-conf-post.h
> config.status: creating oct-conf-post.h-tmp
> config.status: executing oct-conf-post.h commands
> oct-conf-post.h is unchanged
>   GEN      libinterp/builtin-defun-decls.h
> libinterp/builtin-defun-decls.h is unchanged
>   GEN      build-aux/subst-default-vals.sh
> config.status: creating build-aux/subst-default-vals.sh-tmp
> config.status: executing build-aux/subst-default-vals.sh commands
> build-aux/subst-default-vals.sh is unchanged
>   GEN      build-aux/mk-mxarray-h.sh
> config.status: creating build-aux/mk-mxarray-h.sh-tmp
> config.status: executing build-aux/mk-mxarray-h.sh commands
> build-aux/mk-mxarray-h.sh is unchanged
>   YACC     libinterp/corefcn/oct-tex-parser.h
> libinterp/corefcn/oct-tex-parser.output is unchanged
> libinterp/corefcn/oct-tex-parser.h is unchanged
> libinterp/corefcn/oct-tex-parser.cc is unchanged
>   YACC     libinterp/parse-tree/oct-parse.h
> libinterp/parse-tree/oct-parse.output is unchanged
> libinterp/parse-tree/oct-parse.h is unchanged
> libinterp/parse-tree/oct-parse.cc is unchanged
>   GEN      build-aux/mk-version-h.sh
> config.status: creating build-aux/mk-version-h.sh-tmp
> config.status: executing build-aux/mk-version-h.sh commands
> build-aux/mk-version-h.sh is unchanged
>   GEN      octave-config.h
> octave-config.h is unchanged
>   GEN      build-aux/subst-script-vals.sh
> config.status: creating build-aux/subst-script-vals.sh-tmp
> config.status: executing build-aux/subst-script-vals.sh commands
> build-aux/subst-script-vals.sh is unchanged
> make  all-recursive
> make[1]: Entering directory '/home/ernst/Octave/octave/.build'
> HG-ID is unchanged
> Making all in libgnu
> make[2]: Entering directory '/home/ernst/Octave/octave/.build/libgnu'
> make  all-recursive
> make[3]: Entering directory '/home/ernst/Octave/octave/.build/libgnu'
> make[4]: Entering directory '/home/ernst/Octave/octave/.build/libgnu'
> make[4]: Nothing to be done for 'all-am'.
> make[4]: Leaving directory '/home/ernst/Octave/octave/.build/libgnu'
> make[3]: Leaving directory '/home/ernst/Octave/octave/.build/libgnu'
> make[2]: Leaving directory '/home/ernst/Octave/octave/.build/libgnu'
> make[2]: Entering directory '/home/ernst/Octave/octave/.build'
> HG-ID is unchanged
>   GEN      oct-conf-post.h
> config.status: creating oct-conf-post.h-tmp
> config.status: executing oct-conf-post.h commands
> oct-conf-post.h is unchanged
>   GEN      octave-config.h
> octave-config.h is unchanged
>   GEN      build-aux/mk-version-h.sh
> config.status: creating build-aux/mk-version-h.sh-tmp
> config.status: executing build-aux/mk-version-h.sh commands
> build-aux/mk-version-h.sh is unchanged
>   GEN      libinterp/builtin-defun-decls.h
> libinterp/builtin-defun-decls.h is unchanged
>   GEN      build-aux/subst-default-vals.sh
> config.status: creating build-aux/subst-default-vals.sh-tmp
> config.status: executing build-aux/subst-default-vals.sh commands
> build-aux/subst-default-vals.sh is unchanged
>   GEN      build-aux/mk-mxarray-h.sh
> config.status: creating build-aux/mk-mxarray-h.sh-tmp
> config.status: executing build-aux/mk-mxarray-h.sh commands
> build-aux/mk-mxarray-h.sh is unchanged
>   GEN      build-aux/subst-config-vals.sh
> config.status: creating build-aux/subst-config-vals.sh-tmp
> config.status: executing build-aux/subst-config-vals.sh commands
> build-aux/subst-config-vals.sh is unchanged
>   YACC     libinterp/parse-tree/oct-parse.h
> libinterp/parse-tree/oct-parse.output is unchanged
> libinterp/parse-tree/oct-parse.h is unchanged
> libinterp/parse-tree/oct-parse.cc is unchanged
>   YACC     libinterp/corefcn/oct-tex-parser.h
> libinterp/corefcn/oct-tex-parser.output is unchanged
> libinterp/corefcn/oct-tex-parser.h is unchanged
> libinterp/corefcn/oct-tex-parser.cc is unchanged
>   GEN      build-aux/mk-f77-def.sh
> config.status: creating build-aux/mk-f77-def.sh-tmp
> config.status: executing build-aux/mk-f77-def.sh commands
> build-aux/mk-f77-def.sh is unchanged
>   GEN      build-aux/subst-f77-isnan-macro.sh
> config.status: creating build-aux/subst-f77-isnan-macro.sh-tmp
> config.status: executing build-aux/subst-f77-isnan-macro.sh commands
> build-aux/subst-f77-isnan-macro.sh is unchanged
>   GEN      build-aux/subst-script-vals.sh
> config.status: creating build-aux/subst-script-vals.sh-tmp
> config.status: executing build-aux/subst-script-vals.sh commands
> build-aux/subst-script-vals.sh is unchanged
>   GEN      build-aux/mk-default-qt-settings.sh
> config.status: creating build-aux/mk-default-qt-settings.sh-tmp
> config.status: executing build-aux/mk-default-qt-settings.sh commands
> build-aux/mk-default-qt-settings.sh is unchanged
> 
> Octave successfully built.  Now choose from the following:
> 
>    ./run-octave    - to run in place to test before installing
>    make check      - to run the tests
>    make install    - to install (PREFIX=/usr/local)
> 
>    HG ID for this build is "e154d23b2fd1+"
> 
> make[2]: Leaving directory '/home/ernst/Octave/octave/.build'
> make[1]: Leaving directory '/home/ernst/Octave/octave/.build'
> address@hidden:~/Octave/octave/.build>
> 
> 
> 
> So still things are remade without need, right?

No. If you look at the output you'll see that nothing is actually being
rebuilt. The "work" being done is due to the way make works by file
timestamps, and additional logic we have in the build to prevent
recompiling things unnecessarily when the file contents don't actually
change.

Take a file for an example, say libinterp/parse-tree/oct-parse.h. The
build output above shows that it thinks it needs to regenerate this
file, but immediately after there is a message that it is unchanged, so
nothing has actually been rebuilt.

The only way to quiet the above output is to actually delete those files
or otherwise force their timestamps to be updated, which will in turn
recompile a lot of Octave unnecessarily. But after that is done, then
make will no longer be checking for files that it thinks are out of date
but actually aren't.

I do this occasionally when I get annoyed with some output like the
above, with something like

  rm -f oct*.h build-aux/*.sh
  ./config.status
  make

This will essentially recompile everything again, but after it's done
the timestamps will be in order so make will be quieter.

I hope that makes sense.

-- 
mike



reply via email to

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