qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL 00/11] Ui 20171013 patches


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] [PULL 00/11] Ui 20171013 patches
Date: Mon, 16 Oct 2017 11:11:28 +0100
User-agent: Mutt/1.9.0 (2017-09-02)

On Mon, Oct 16, 2017 at 11:19:13AM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> > I'm afraid this is quite likely to fail build smoke test again. I've
> > just tried a build on OpenBSD with the bash -> sh fix in it, and I
> > found that it still tried to build the keycodemap files in parallel
> > with checking out the GIT submodules. It also tried to run the
> > mkdir -p dtc/libfdt in parallel and this caused git to refuse to
> > checkout the dtc module due to that empty dir existing. So there's
> > still some deps problems in here I think that let make build in
> > the wrong order :-(
> 
> > In all my debugging the one thing I've seen work correctly is the
> > re-running of configure (via config.status), which always happens
> > earlier and is serialized wrt everything else. So I wonder if we
> > should change direction slightly, and have configure checkout the
> > submodules. Then just make sure that config.status is triggered
> > when submodules are out of date.
> 
> I've noticed configure running *in parallel* to other stuff. 
> Reproducer:
> 
>   (1) Apply patch #1
>   (2) run normal build
>   (3) make -C dtc clean
>   (4) touch configure
>   (5) make
> 
> Watch configure and dtc build running in parallel.
> I think the added Makefile dependency breaks it.
> 
> Incremental fix (also pushed to queue/ui):
> 
> --- a/Makefile
> +++ b/Makefile
> @@ -35,8 +35,6 @@ endif
>  
>  .git-submodule-status: git-submodule-update config-host.mak
>  
> -Makefile: .git-submodule-status
> -
>  # Check that we're not trying to do an out-of-tree build from
>  # a tree that's been used for an in-tree build.
>  ifneq ($(realpath $(SRC_PATH)),$(realpath .))
> @@ -107,6 +105,7 @@ endif
>  GENERATED_FILES += $(TRACE_HEADERS)
>  GENERATED_FILES += $(TRACE_SOURCES)
>  GENERATED_FILES += $(BUILD_DIR)/trace-events-all
> +GENERATED_FILES += .git-submodule-status
>  
>  trace-group-name = $(shell dirname $1 | sed -e 's/[^a-zA-Z0-9]/_/g')

Yep, that looks to have fixed the races I was able to reproduce


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



reply via email to

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