[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