All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Steve Ellcey <sellcey@imgtec.com>,
	Leon Alrae <leon.alrae@imgtec.com>,
	QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Someone kill the in-tree build, please (was:  MIPS qemu build failure)
Date: Fri, 18 Sep 2015 13:17:36 +0100	[thread overview]
Message-ID: <20150918121736.GF16906@redhat.com> (raw)
In-Reply-To: <87r3lw53u8.fsf_-_@blackfin.pond.sub.org>

On Fri, Sep 18, 2015 at 02:06:39PM +0200, Markus Armbruster wrote:
> "Daniel P. Berrange" <berrange@redhat.com> 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 <sellcey@imgtec.com> 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 :|

      parent reply	other threads:[~2015-09-18 12:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-17 18:21 [Qemu-devel] MIPS qemu build failure Steve Ellcey 
2015-09-17 18:38 ` Peter Maydell
2015-09-18  8:24   ` Daniel P. Berrange
2015-09-18  8:53     ` Leon Alrae
2015-09-18  9:06       ` Daniel P. Berrange
2015-09-18 12:06         ` [Qemu-devel] Someone kill the in-tree build, please (was: MIPS qemu build failure) Markus Armbruster
2015-09-18 12:15           ` Peter Maydell
2015-09-18 12:17           ` Daniel P. Berrange [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150918121736.GF16906@redhat.com \
    --to=berrange@redhat.com \
    --cc=armbru@redhat.com \
    --cc=leon.alrae@imgtec.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sellcey@imgtec.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.