qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [PULL v3 00/68] i386, build system, KVM changes for 2023-05-18
Date: Fri, 19 May 2023 20:03:58 +0200	[thread overview]
Message-ID: <c2eed4ee-18e5-19b4-0a11-168fad0618b1@redhat.com> (raw)
In-Reply-To: <CAFEAcA-cWzw-heK7y83=ZnSG7Kd_NUiayOrm6Zz6jRADB1-Nfg@mail.gmail.com>

On 5/19/23 19:45, Peter Maydell wrote:
> On Fri, 19 May 2023 at 18:31, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>
>> On 5/19/23 19:01, Peter Maydell wrote:
>>>> Can you send your config-host.mak after a failed rebuild? I think
>>>> what's happening is that the path to meson has changed but Makefile
>>>> still tries the old one (which could be the system meson in
>>>> /usr/bin).
>>>
>>> Attached; it has
>>> MESON=/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86-tgts/pyvenv/bin/meson
>>>
>>>   That meson says: $
>>> /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86-tgts/pyvenv/bin/meson --version>
>>> 1.1.0 is neither the system meson (which is 0.61.2) nor the version
>>> the build system wants (0.63.0) nor the version that it complains
>>> that it's found (0.61.5), so I'm not sure what's going on there...
>>
>> 1.1.0 must be something you have cached somewhere
> 
> Well, I've never done anything with meson except use whatever
> the QEMU build system provides...
> 
>> but 0.61.5 comes from
>> the old submodule.  You should be able to find it with
>>
>> grep -wA2 'rule REGENERATE_BUILD' ../build.ninja
> 
> Yep:
> 
> $ grep -wA2 'rule REGENERATE_BUILD' build/x86-tgts/build.ninja
> rule REGENERATE_BUILD
>   command = /usr/bin/python3
> /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/meson/meson.py --internal
> regenerate /mnt/nvmedisk/linaro/qemu-from-laptop/qemu
> /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86-tgts --backend
> ninja
>   description = Regenerating build files.
> 
> $ /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/meson/meson.py --version
> 0.61.5
> 
>> You should be able to unhose the directory with
>>
>> pyvenv/bin/meson setup --reconfigure ../..
>>
>> (where ../.. should be the path to the sources) or even with the patch:
>>
>> diff --git a/Makefile b/Makefile
>> index 3c7d67142f13..08fb6a3b058a 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -115,15 +115,15 @@ Makefile.ninja: build.ninja
>>            $(NINJA) -t query build.ninja | sed -n '1,/^  input:/d; /^  outputs:/q; s/$$/ \\/p'; \
>>          } > $@.tmp && mv $@.tmp $@
>>    -include Makefile.ninja
>> +endif
>>
>> +ifneq ($(MESON),)
>>    # A separate rule is needed for Makefile dependencies to avoid -n
>>    build.ninja: build.ninja.stamp
>>    $(build-files):
>>    build.ninja.stamp: meson.stamp $(build-files)
>> -       $(NINJA) $(if $V,-v,) build.ninja && touch $@
>> -endif
>> +       $(MESON) setup --reconfigure $(SRC_PATH) && touch $@
>>
>> -ifneq ($(MESON),)
>>    Makefile.mtest: build.ninja scripts/mtest2make.py
>>          $(MESON) introspect --targets --tests --benchmarks | $(PYTHON) scripts/mtest2make.py > $@
>>    -include Makefile.mtest
> 
> This patch doesn't work, I'm afraid:
> 
> $ make -C build/x86-tgts/
> make: Entering directory
> '/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86-tgts'
> /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86-tgts/pyvenv/bin/meson
> setup --reconfigure /mnt/nvmedisk/linaro/qemu-from-laptop/qemu &&
> touch build.ninja.stamp
> WARNING: Regenerating configuration from scratch.
> Reason: Coredata file
> '/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86-tgts/meson-private/coredata.dat'
> references functions or classes that don't exist. This probably means
> that it was generated with an old version of meson. Try running from
> the source directory meson setup
> /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86-tgts --wipe
> The Meson build system
> Version: 1.1.0
> Source dir: /mnt/nvmedisk/linaro/qemu-from-laptop/qemu
> Build dir: /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86-tgts
> Build type: native build
> 
> ../../meson.build:1:0: ERROR: Unknown options: "sphinx_build"

Well, it almost works---notice that now you are running the 1.1.0 from 
pyvenv/bin/meson.  For now you can proceed with

    sed -i /sphinx_build/d meson-private/cmd_line.txt

and I'll try to send a proper patch over the weekend.

Paolo



  reply	other threads:[~2023-05-19 18:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-18 11:40 [PULL v3 00/68] i386, build system, KVM changes for 2023-05-18 Paolo Bonzini
2023-05-18 11:40 ` [PULL 59/68] build: move warning flag selection to meson Paolo Bonzini
2023-05-18 16:28 ` [PULL v3 00/68] i386, build system, KVM changes for 2023-05-18 Richard Henderson
2023-05-19 14:39 ` Peter Maydell
2023-05-19 16:51   ` Paolo Bonzini
2023-05-19 17:01     ` Peter Maydell
2023-05-19 17:31       ` Paolo Bonzini
2023-05-19 17:45         ` Peter Maydell
2023-05-19 18:03           ` Paolo Bonzini [this message]
2023-05-22  8:27 ` Markus Armbruster

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=c2eed4ee-18e5-19b4-0a11-168fad0618b1@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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 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).