From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35975) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WJ791-0002fA-HL for qemu-devel@nongnu.org; Thu, 27 Feb 2014 15:01:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WJ78w-0007kZ-Kl for qemu-devel@nongnu.org; Thu, 27 Feb 2014 15:01:23 -0500 Received: from mx1.redhat.com ([209.132.183.28]:17316) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WJ78w-0007jp-CF for qemu-devel@nongnu.org; Thu, 27 Feb 2014 15:01:18 -0500 Date: Thu, 27 Feb 2014 15:01:12 -0500 From: Jeff Cody Message-ID: <20140227200112.GE4165@localhost.localdomain> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] git build from clean broken? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 > 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