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
next prev parent 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).