* [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: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: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-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
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).