lilypond-devel
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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