From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50444) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zcubp-0006yb-2z for qemu-devel@nongnu.org; Fri, 18 Sep 2015 08:17:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zcubl-0007ra-EK for qemu-devel@nongnu.org; Fri, 18 Sep 2015 08:17:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33804) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zcubl-0007qI-7g for qemu-devel@nongnu.org; Fri, 18 Sep 2015 08:17:41 -0400 Date: Fri, 18 Sep 2015 13:17:36 +0100 From: "Daniel P. Berrange" Message-ID: <20150918121736.GF16906@redhat.com> References: <47bb75f9-c831-4898-a4bc-ff6c720708ae@BAMAIL02.ba.imgtec.org> <20150918082402.GA16906@redhat.com> <55FBD10B.4090304@imgtec.com> <20150918090634.GC16906@redhat.com> <87r3lw53u8.fsf_-_@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87r3lw53u8.fsf_-_@blackfin.pond.sub.org> Subject: Re: [Qemu-devel] Someone kill the in-tree build, please (was: MIPS qemu build failure) Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Peter Maydell , Steve Ellcey , Leon Alrae , QEMU Developers On Fri, Sep 18, 2015 at 02:06:39PM +0200, Markus Armbruster wrote: > "Daniel P. Berrange" writes: > > > On Fri, Sep 18, 2015 at 09:53:31AM +0100, Leon Alrae wrote: > >> On 18/09/2015 09:24, Daniel P. Berrange wrote: > >> > On Thu, Sep 17, 2015 at 07:38:53PM +0100, Peter Maydell wrote: > >> >> On 17 September 2015 at 19:21, Steve Ellcey wrote: > >> >>> > >> >>> Following up to my own email. Apparently the reason I get this error is > >> >>> that I am building with "--disable-tools --disable-system". I don't need > >> >>> the tools and I don't have pixman on my build system so if I don't use > >> >>> "--disable-tools --disable-system" I get an error about not having pixman > >> >>> installed. > >> >> > >> >> We ship pixman as a git submodule so that you don't have to have > >> >> a system pixman, though the configure options you're using should work. > >> >> > >> >>> When I do use "--disable-tools --disable-system" on the > >> >>> configure line I get: > >> >>> > >> >>> make[1]: *** No rule to make target `../qom/object.o', needed by > >> >>> `qemu-mips'. Stop. > >> >>> make: *** [subdir-mips-linux-user] Error 2 > >> >>> Error: Make command failed, stopping build. > >> >> > >> >> Daniel, this sounds like more fallout from your recent changes? > >> > > >> > I've just tried './configure --enable-tools --disable-system && make' and > >> > got a successful build, including the qemu-mips binary, so I wonder if > >> > there's some stale build artifacts, or other configure CLI args > >> > >> Note that Steve used --disable-tools, not enable. I just tried and it fails > >> also for me: > > > > Opps, when I tested, I *did* in fact use --disable-tools - just my email > > here was wrong. > > > >> $ ../qemu/configure --disable-tools --disable-system && make > >> (...) > >> make[1]: *** No rule to make target `../qom/object.o', needed by > >> `qemu-aarch64'. Stop. > >> make: *** [subdir-aarch64-linux-user] Error 2 > > > > Ahh, this is useful. > > > > You have your build directory *outside* the QEMU source tree, > > eg $GIT/../build, whereas I had been testing with $GIT/build > > and an non-VPATH build. > > > > I can in fact reproduce if building completely outside the GIT tree > > like you show. > > > > I'll look at producing a fix shortly... > > Dropping the in-tree build entirely would save us from such unnecessary > build breakages. Unfortunately, I haven't been able to find the time to > write a patch. Any takers? Preventing non-VPATH builds wouldn't have avoided the breakage in this case, as it only occurred when multiple criteria were met. You needed to have done a build with certain features disabled *and* done it in a VPATH *and* for VPATH to have lived outside your $GIT checkout. We'd only catch that if we added more combinations to the build checks Peter does prior to merge. I could see an argument for dropping non-VPATH builds, even though I do typically use them myself, since VPATH vs non-VPATH is a constant source of trouble in most projects. I don't think its so reasonable to dictate to people /where/ they put their VPATHs - IMHO its acceptable to use $GIT/build as a VPATH. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|