[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Staging broken.
From: |
Jonas Hahnfeld |
Subject: |
Re: Staging broken. |
Date: |
Wed, 19 Feb 2020 09:10:24 +0100 |
User-agent: |
Evolution 3.34.4 |
Am Dienstag, den 18.02.2020, 14:19 +0100 schrieb David Kastrup:
> James <
> address@hidden
> > writes:
> > Actually if you look on the tracker you'll see that I wrote
> >
> > 'Passes make, make test-baseline, and a full make doc.'
> >
> > This is probably my fault misunderstanding what can and what cannot be
> > 'tested' after 'configure' has been run.
>
> Everything?
>
> > For example, as far as I can remember/tell if I *.ac files are patched
> > then when I run
> >
> > ./autogen.sh --noconfigure
> > mkdir build
> > cd build
> > ../configure
> > make
> > make test-baseline
> >
> > and THEN I try to apply the diff, I get some 'error' about the file
> > being newer (or something, I cannot recall without doing it) as when
> > you run the patch tests you are not re-running autogen/configure.
>
> Why would you not rerun autogen/configure?
>
> The procedure for a patch would be
>
> git apply --index xxxx.diff
> ./autogen.sh --noconf
> cd build
> ../configure --enable-checking # and/or other desired options
> make clean test-clean doc-clean
> CPU_COUNT=9 make -j9 # or whatever other options
> CPU_COUNT=9 make -j9 check
> CPU_COUNT=9 make -j9 doc
In my experience this doesn't work in all cases. I just switched back
from branch where I worked on the build system and here's what I get
(after running $ autoconf in the src directory):
$ ../src/configure
[...]
configure: creating ./config.status
config.status: creating config.make
config.status: creating config.hh
config.status: config.hh is unchanged
$ make
*** /code/LilyPond/build/config.hh is out of date
*** Remove it and rerun autogen:
rm /code/LilyPond/build/config.hh; ./autogen.sh
$ make clean
[...]
$ make
*** /code/LilyPond/build/config.hh is out of date
*** Remove it and rerun autogen:
rm /code/LilyPond/build/config.hh; ./autogen.sh
As you can see, configure is "clever" and notices that config.hh would
not change. So instead of touching it (and forcing a full rebuild), it
just keeps the old modification date and our /GNUmakefile.in gets
pretty angry about it.
If I actually remove config.hh and then re-run configure, it obviously
works - but I'd consider this a problem in the build system. Also note
how the recommendation is wrong in my example as I build in a separate
directory...
Jonas
signature.asc
Description: This is a digitally signed message part
- Staging broken., David Kastrup, 2020/02/18
- Re: Staging broken., David Kastrup, 2020/02/18
- Re: Staging broken., James, 2020/02/18
- Re: Staging broken., David Kastrup, 2020/02/18
- Re: Staging broken.,
Jonas Hahnfeld <=
- Re: Staging broken., David Kastrup, 2020/02/19
- Re: Staging broken., Jonas Hahnfeld, 2020/02/19
- Re: Staging broken., David Kastrup, 2020/02/19
- Re: Staging broken., Han-Wen Nienhuys, 2020/02/19
- Re: Staging broken., David Kastrup, 2020/02/19
- Re: Staging broken., Han-Wen Nienhuys, 2020/02/19
- Re: Staging broken., David Kastrup, 2020/02/19
- Re: Staging broken., pkx166h, 2020/02/19
- Re: Staging broken., David Kastrup, 2020/02/19
- How to test 'stepmake' patch (was Re: Staging broken), James Lowe, 2020/02/23