qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] git build from clean broken?
@ 2014-02-27 19:38 Peter Maydell
  2014-02-27 19:57 ` Stefan Weil
  2014-02-27 20:01 ` Jeff Cody
  0 siblings, 2 replies; 10+ messages in thread
From: Peter Maydell @ 2014-02-27 19:38 UTC (permalink / raw)
  To: QEMU Developers; +Cc: Paolo Bonzini, Fam Zheng

$ git clone  git://git.qemu.org/qemu.git
[...]
$ cd qemu
$ mkdir build/a64-targets-nodbg/ && (cd build/a64-targets-nodbg/ &&
'../../configure'
'--target-list=aarch64-softmmu,arm-softmmu,aarch64-linux-user,arm-linux-user'
'--cc=ccache gcc' '--disable-tools') && make -C
build/a64-targets-nodbg/
[...]
make[1]: *** No rule to make target `../async.o', needed by
`qemu-system-aarch64'. Stop.

Make seems to be able to build these files in its top level
build directory:

make  -C build/a64-targets-nodbg async.o

but it can't build them on-demand when the targets in the
per-target subdirectories reference them via ../object-file.o

git bisect blames this commit:
commit ba1183da9a10b94611cad88c44a5c6df005f9b55
Author: Fam Zheng <famz@redhat.com>
Date:   Mon Feb 10 14:48:52 2014 +0800

    rules.mak: fix $(obj) to a real relative path

Any ideas?

thanks
-- PMM

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] git build from clean broken?
  2014-02-27 19:38 [Qemu-devel] git build from clean broken? Peter Maydell
@ 2014-02-27 19:57 ` Stefan Weil
  2014-02-27 21:50   ` Paolo Bonzini
  2014-02-27 20:01 ` Jeff Cody
  1 sibling, 1 reply; 10+ messages in thread
From: Stefan Weil @ 2014-02-27 19:57 UTC (permalink / raw)
  To: Peter Maydell, QEMU Developers; +Cc: Paolo Bonzini, Fam Zheng

Am 27.02.2014 20:38, schrieb Peter Maydell:
> $ git clone  git://git.qemu.org/qemu.git
> [...]
> $ cd qemu
> $ mkdir build/a64-targets-nodbg/ && (cd build/a64-targets-nodbg/ &&
> '../../configure'
> '--target-list=aarch64-softmmu,arm-softmmu,aarch64-linux-user,arm-linux-user'
> '--cc=ccache gcc' '--disable-tools') && make -C
> build/a64-targets-nodbg/
> [...]
> make[1]: *** No rule to make target `../async.o', needed by
> `qemu-system-aarch64'. Stop.
> 
> Make seems to be able to build these files in its top level
> build directory:
> 
> make  -C build/a64-targets-nodbg async.o
> 
> but it can't build them on-demand when the targets in the
> per-target subdirectories reference them via ../object-file.o
> 
> git bisect blames this commit:
> commit ba1183da9a10b94611cad88c44a5c6df005f9b55
> Author: Fam Zheng <famz@redhat.com>
> Date:   Mon Feb 10 14:48:52 2014 +0800
> 
>     rules.mak: fix $(obj) to a real relative path
> 
> Any ideas?
> 
> thanks
> -- PMM
> 


Yes. I saw that problem, too. This patch for Makefile fixed it for me:

index ccab967,a28a3c8..8ec3a99
@@@ -170,6 -159,6 +170,7 @@@ qemu-options.def: $(SRC_PATH)/qemu-opti
  SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
  SOFTMMU_SUBDIR_RULES=$(filter %-softmmu,$(SUBDIR_RULES))

++$(SOFTMMU_SUBDIR_RULES): $(block-obj-y)
  $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak

  subdir-%:

Regards
Stefan W.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] git build from clean broken?
  2014-02-27 19:38 [Qemu-devel] git build from clean broken? Peter Maydell
  2014-02-27 19:57 ` Stefan Weil
@ 2014-02-27 20:01 ` Jeff Cody
  1 sibling, 0 replies; 10+ messages in thread
From: Jeff Cody @ 2014-02-27 20:01 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, Fam Zheng, QEMU Developers

On Thu, Feb 27, 2014 at 07:38:56PM +0000, Peter Maydell wrote:
> $ git clone  git://git.qemu.org/qemu.git
> [...]
> $ cd qemu
> $ mkdir build/a64-targets-nodbg/ && (cd build/a64-targets-nodbg/ &&
> '../../configure'
> '--target-list=aarch64-softmmu,arm-softmmu,aarch64-linux-user,arm-linux-user'
> '--cc=ccache gcc' '--disable-tools') && make -C
> build/a64-targets-nodbg/
> [...]
> make[1]: *** No rule to make target `../async.o', needed by
> `qemu-system-aarch64'. Stop.
> 
> Make seems to be able to build these files in its top level
> build directory:
> 
> make  -C build/a64-targets-nodbg async.o
> 
> but it can't build them on-demand when the targets in the
> per-target subdirectories reference them via ../object-file.o
> 
> git bisect blames this commit:
> commit ba1183da9a10b94611cad88c44a5c6df005f9b55
> Author: Fam Zheng <famz@redhat.com>
> Date:   Mon Feb 10 14:48:52 2014 +0800
> 
>     rules.mak: fix $(obj) to a real relative path
> 
> Any ideas?
>

Hi Peter,

It looks like this is the culprit, from that commit:

-common-obj-y = $(block-obj-y) blockdev.o blockdev-nbd.o block/
+common-obj-y = blockdev.o blockdev-nbd.o block/

You are running into this bug since you configured with
--disable-tools.

As a temp workaround, if you build qemu-nbd (or qemu-img) first, that
should build the required block-obj-y objects, which should then allow
everything to build.  E.g.:

    make -j5 qemu-nbd all


Jeff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] git build from clean broken?
  2014-02-27 19:57 ` Stefan Weil
@ 2014-02-27 21:50   ` Paolo Bonzini
  2014-02-27 22:17     ` Peter Maydell
  0 siblings, 1 reply; 10+ messages in thread
From: Paolo Bonzini @ 2014-02-27 21:50 UTC (permalink / raw)
  To: Stefan Weil, Peter Maydell, QEMU Developers; +Cc: Fam Zheng

Il 27/02/2014 20:57, Stefan Weil ha scritto:
> Yes. I saw that problem, too. This patch for Makefile fixed it for me:
> 
> index ccab967,a28a3c8..8ec3a99
> @@@ -170,6 -159,6 +170,7 @@@ qemu-options.def: $(SRC_PATH)/qemu-opti
>   SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
>   SOFTMMU_SUBDIR_RULES=$(filter %-softmmu,$(SUBDIR_RULES))
> 
> ++$(SOFTMMU_SUBDIR_RULES): $(block-obj-y)
>   $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak

This is correct.  Alternatively:

------------------ 8< --------------------
From: Paolo Bonzini <pbonzini@redhat.com>
Subject: [PATCH] build: build block-obj-y explicitly before recursing

block-obj-y is not anymore part of common-obj-y, because "nesting"
variables is complicated and requires specifying the correct
ordering in the calls to unnest-vars.  However, because of this
we need to specify block-obj-y in the dependencies of the
target subdirectories.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

diff --git a/Makefile b/Makefile
index a443cd4..3938b6c 100644
--- a/Makefile
+++ b/Makefile
@@ -167,7 +167,7 @@ subdir-dtc:dtc/libfdt dtc/tests
 dtc/%:
 	mkdir -p $@
 
-$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y)
+$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(block-obj-y)
 
 ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
 romsubdir-%:
-- 
1.8.5.3

Paolo

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] git build from clean broken?
  2014-02-27 21:50   ` Paolo Bonzini
@ 2014-02-27 22:17     ` Peter Maydell
  2014-02-27 22:23       ` Paolo Bonzini
  2014-03-03 23:50       ` Peter Maydell
  0 siblings, 2 replies; 10+ messages in thread
From: Peter Maydell @ 2014-02-27 22:17 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Stefan Weil, Fam Zheng, QEMU Developers

On 27 February 2014 21:50, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 27/02/2014 20:57, Stefan Weil ha scritto:
>> Yes. I saw that problem, too. This patch for Makefile fixed it for me:
>>
>> index ccab967,a28a3c8..8ec3a99
>> @@@ -170,6 -159,6 +170,7 @@@ qemu-options.def: $(SRC_PATH)/qemu-opti
>>   SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
>>   SOFTMMU_SUBDIR_RULES=$(filter %-softmmu,$(SUBDIR_RULES))
>>
>> ++$(SOFTMMU_SUBDIR_RULES): $(block-obj-y)
>>   $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak
>
> This is correct.  Alternatively:

Can you either post that to the list as a proper patch or alternatively
just add a reviewed-by tag to the patch Stefan sent earlier, depending
which you think is the better fix? Then I'll apply it...

thanks
-- PMM

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] git build from clean broken?
  2014-02-27 22:17     ` Peter Maydell
@ 2014-02-27 22:23       ` Paolo Bonzini
  2014-02-27 22:55         ` Peter Maydell
  2014-03-03 23:50       ` Peter Maydell
  1 sibling, 1 reply; 10+ messages in thread
From: Paolo Bonzini @ 2014-02-27 22:23 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Stefan Weil, Fam Zheng, QEMU Developers

Il 27/02/2014 23:17, Peter Maydell ha scritto:
> On 27 February 2014 21:50, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> Il 27/02/2014 20:57, Stefan Weil ha scritto:
>>> Yes. I saw that problem, too. This patch for Makefile fixed it for me:
>>>
>>> index ccab967,a28a3c8..8ec3a99
>>> @@@ -170,6 -159,6 +170,7 @@@ qemu-options.def: $(SRC_PATH)/qemu-opti
>>>   SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
>>>   SOFTMMU_SUBDIR_RULES=$(filter %-softmmu,$(SUBDIR_RULES))
>>>
>>> ++$(SOFTMMU_SUBDIR_RULES): $(block-obj-y)
>>>   $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak
>>
>> This is correct.  Alternatively:
>
> Can you either post that to the list as a proper patch or alternatively
> just add a reviewed-by tag to the patch Stefan sent earlier, depending
> which you think is the better fix? Then I'll apply it...

Done, thanks.

Can you apply also Fam's patch

http://article.gmane.org/gmane.comp.emulators.qemu/258469/raw

?

Paolo

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] git build from clean broken?
  2014-02-27 22:23       ` Paolo Bonzini
@ 2014-02-27 22:55         ` Peter Maydell
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2014-02-27 22:55 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Stefan Weil, Fam Zheng, QEMU Developers

On 27 February 2014 22:23, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Can you apply also Fam's patch
>
> http://article.gmane.org/gmane.comp.emulators.qemu/258469/raw
>
> ?

Sure. I'd misread Markus' reply as being opposed to it, but
rereading I see he was just making a suggestion for the future.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] git build from clean broken?
  2014-02-27 22:17     ` Peter Maydell
  2014-02-27 22:23       ` Paolo Bonzini
@ 2014-03-03 23:50       ` Peter Maydell
  2014-03-04  6:57         ` Stefan Weil
  1 sibling, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2014-03-03 23:50 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Stefan Weil, Fam Zheng, QEMU Developers

On 27 February 2014 22:17, Peter Maydell <peter.maydell@linaro.org> wrote:

> Can you either post that to the list as a proper patch or alternatively
> just add a reviewed-by tag to the patch Stefan sent earlier, depending
> which you think is the better fix? Then I'll apply it...

Do we have a definite version of this fix which everybody is happy
with yet? I've got confused with the various versions and review
comments on them. I'd like to apply the buildfix before I apply
any further pull requests...

thanks
-- PMM

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] git build from clean broken?
  2014-03-03 23:50       ` Peter Maydell
@ 2014-03-04  6:57         ` Stefan Weil
  2014-03-04  7:10           ` Paolo Bonzini
  0 siblings, 1 reply; 10+ messages in thread
From: Stefan Weil @ 2014-03-04  6:57 UTC (permalink / raw)
  To: Peter Maydell, Paolo Bonzini; +Cc: Fam Zheng, QEMU Developers

Am 04.03.2014 00:50, schrieb Peter Maydell:
> 
> Do we have a definite version of this fix which everybody is happy
> with yet? I've got confused with the various versions and review
> comments on them. I'd like to apply the buildfix before I apply
> any further pull requests...
> 
> thanks
> -- PMM

Simply take the version without confusing review comments:
http://patchwork.ozlabs.org/patch/324909/. :-)

To be honest: the other patch fixes one build regression and introduces
a new one, so it would not improve the situation.

Paolo noticed that Makefile is a mess in some parts, and I agree. But
that is something which can be handled separately.

Regards
Stefan

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] git build from clean broken?
  2014-03-04  6:57         ` Stefan Weil
@ 2014-03-04  7:10           ` Paolo Bonzini
  0 siblings, 0 replies; 10+ messages in thread
From: Paolo Bonzini @ 2014-03-04  7:10 UTC (permalink / raw)
  To: Stefan Weil, Peter Maydell; +Cc: Fam Zheng, QEMU Developers

Il 04/03/2014 07:57, Stefan Weil ha scritto:
> Simply take the version without confusing review comments:
> http://patchwork.ozlabs.org/patch/324909/. :-)
>
> To be honest: the other patch fixes one build regression and introduces
> a new one, so it would not improve the situation.
>
> Paolo noticed that Makefile is a mess in some parts, and I agree. But
> that is something which can be handled separately.

Agree.

Paolo

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-03-04  7:10 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-27 19:38 [Qemu-devel] git build from clean broken? Peter Maydell
2014-02-27 19:57 ` Stefan Weil
2014-02-27 21:50   ` Paolo Bonzini
2014-02-27 22:17     ` Peter Maydell
2014-02-27 22:23       ` Paolo Bonzini
2014-02-27 22:55         ` Peter Maydell
2014-03-03 23:50       ` Peter Maydell
2014-03-04  6:57         ` Stefan Weil
2014-03-04  7:10           ` Paolo Bonzini
2014-02-27 20:01 ` Jeff Cody

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).