[PULL v2 0/5] Meson version update

Paolo Bonzini posted 5 patches 3 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210315173912.197857-1-pbonzini@redhat.com
Maintainers: Taylor Simpson <tsimpson@quicinc.com>
configure                               |  7 +----
docs/meson.build                        | 12 ++++----
meson                                   |  2 +-
meson.build                             | 54 +++++++++++++++------------------
plugins/meson.build                     |  4 +--
scripts/mtest2make.py                   |  7 ++---
target/hexagon/meson.build              | 37 ++++++++--------------
tests/docker/dockerfiles/centos7.docker |  2 +-
tests/qapi-schema/meson.build           |  4 +--
tests/qtest/meson.build                 |  2 +-
tests/unit/meson.build                  |  2 +-
trace/meson.build                       |  4 +--
12 files changed, 57 insertions(+), 80 deletions(-)
[PULL v2 0/5] Meson version update
Posted by Paolo Bonzini 3 years, 1 month ago
The following changes since commit 51204c2f188ec1e2a38f14718d38a3772f850a4b:

  Merge remote-tracking branch 'remotes/bkoppelmann2/tags/pull-tricore-20210314' into staging (2021-03-15 15:34:27 +0000)

are available in the Git repository at:

  https://gitlab.com/bonzini/qemu.git tags/for-upstream-meson-0.57

for you to fetch changes up to 57d42c3b774d0716b9ad1a5a576480521edc7201:

  hexagon: use env keyword argument to pass PYTHONPATH (2021-03-15 18:06:21 +0100)

v1->v2: rebased

----------------------------------------------------------------
Update Meson to 0.57.

----------------------------------------------------------------
Paolo Bonzini (5):
      hexagon: do not specify executables as inputs
      hexagon: do not specify Python scripts as inputs
      meson: bump submodule to 0.57.1
      meson: switch minimum meson version to 0.57.0
      hexagon: use env keyword argument to pass PYTHONPATH

 configure                               |  7 +----
 docs/meson.build                        | 12 ++++----
 meson                                   |  2 +-
 meson.build                             | 54 +++++++++++++++------------------
 plugins/meson.build                     |  4 +--
 scripts/mtest2make.py                   |  7 ++---
 target/hexagon/meson.build              | 37 ++++++++--------------
 tests/docker/dockerfiles/centos7.docker |  2 +-
 tests/qapi-schema/meson.build           |  4 +--
 tests/qtest/meson.build                 |  2 +-
 tests/unit/meson.build                  |  2 +-
 trace/meson.build                       |  4 +--
 12 files changed, 57 insertions(+), 80 deletions(-)
-- 
2.29.2


Re: [PULL v2 0/5] Meson version update
Posted by Peter Maydell 3 years, 1 month ago
On Mon, 15 Mar 2021 at 17:47, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 51204c2f188ec1e2a38f14718d38a3772f850a4b:
>
>   Merge remote-tracking branch 'remotes/bkoppelmann2/tags/pull-tricore-20210314' into staging (2021-03-15 15:34:27 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/bonzini/qemu.git tags/for-upstream-meson-0.57
>
> for you to fetch changes up to 57d42c3b774d0716b9ad1a5a576480521edc7201:
>
>   hexagon: use env keyword argument to pass PYTHONPATH (2021-03-15 18:06:21 +0100)
>
> v1->v2: rebased
>
> ----------------------------------------------------------------
> Update Meson to 0.57.
>
> ----------------------------------------------------------------
> Paolo Bonzini (5):
>       hexagon: do not specify executables as inputs
>       hexagon: do not specify Python scripts as inputs
>       meson: bump submodule to 0.57.1
>       meson: switch minimum meson version to 0.57.0
>       hexagon: use env keyword argument to pass PYTHONPATH

Fails to build, on at least x86-64, s390, ppc, aarch32, aarch64
Linux hosts:

make: Entering directory '/home/ubuntu/qemu/build/all'
(GIT="git" "/home/ubuntu/qemu/scripts/git-submodule.sh" update
ui/keycodemapdb tests/fp/berkeley-testfloat-3
tests/fp/berkeley-softfloat-3 meson dtc capstone slirp roms/SLOF)
config-host.mak is out-of-date, running configure
/usr/bin/ninja -v build.ninja && touch build.ninja.stamp
[0/1] /usr/bin/python3 /home/ubuntu/qemu/meson/meson.py --internal
regenerate /home/ubuntu/qemu /home/ubuntu/qemu/build/all --backend
ninja
WARNING: Regenerating configuration from scratch.
Reason: Coredata file
'/home/ubuntu/qemu/build/all/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.
The Meson build system
Version: 0.57.1
Source dir: /home/ubuntu/qemu
Build dir: /home/ubuntu/qemu/build/all
Build type: native build

../../meson.build:1:0: ERROR: Value "true" (of type "string") for
combo option "Localization of the GTK+ user interface" is not one of
the choices. Possible choices are (as string): "enabled", "disabled",
"auto".

A full log can be found at /home/ubuntu/qemu/build/all/meson-logs/meson-log.txt
FAILED: build.ninja
/usr/bin/python3 /home/ubuntu/qemu/meson/meson.py --internal
regenerate /home/ubuntu/qemu /home/ubuntu/qemu/build/all --backend
ninja
ninja: error: rebuilding 'build.ninja': subcommand failed
/usr/bin/ninja -v build.ninja && touch build.ninja.stamp

(repeats same error another 3 times)

thanks
-- PMM

Re: [PULL v2 0/5] Meson version update
Posted by Paolo Bonzini 3 years, 1 month ago
On 15/03/21 23:04, Peter Maydell wrote:
> ../../meson.build:1:0: ERROR: Value "true" (of type "string") for
> combo option "Localization of the GTK+ user interface" is not one of
> the choices. Possible choices are (as string): "enabled", "disabled",
> "auto".

This probably dates back to

     commit 0e8e77d487b3d8ae33158e61c30e1fe5c753a114
     Author: Alex Bennée <alex.bennee@linaro.org>
     Date:   Thu Dec 10 19:04:12 2020 +0000

     configure: move gettext detection to meson.build

     This will allow meson to honour -Dauto_features=disabled later.

     Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
     Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
     Acked-by: Paolo Bonzini <pbonzini@redhat.com>
     Message-Id: <20201210190417.31673-4-alex.bennee@linaro.org>

but it should be possible to work around it.

Paolo


Re: [PULL v2 0/5] Meson version update
Posted by Peter Maydell 3 years, 1 month ago
On Mon, 15 Mar 2021 at 22:04, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Mon, 15 Mar 2021 at 17:47, Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> > The following changes since commit 51204c2f188ec1e2a38f14718d38a3772f850a4b:
> >
> >   Merge remote-tracking branch 'remotes/bkoppelmann2/tags/pull-tricore-20210314' into staging (2021-03-15 15:34:27 +0000)
> >
> > are available in the Git repository at:
> >
> >   https://gitlab.com/bonzini/qemu.git tags/for-upstream-meson-0.57
> >
> > for you to fetch changes up to 57d42c3b774d0716b9ad1a5a576480521edc7201:
> >
> >   hexagon: use env keyword argument to pass PYTHONPATH (2021-03-15 18:06:21 +0100)
> >
> > v1->v2: rebased
> >
> > ----------------------------------------------------------------
> > Update Meson to 0.57.
> >
> > ----------------------------------------------------------------
> > Paolo Bonzini (5):
> >       hexagon: do not specify executables as inputs
> >       hexagon: do not specify Python scripts as inputs
> >       meson: bump submodule to 0.57.1
> >       meson: switch minimum meson version to 0.57.0
> >       hexagon: use env keyword argument to pass PYTHONPATH
>
> Fails to build, on at least x86-64, s390, ppc, aarch32, aarch64
> Linux hosts:

This pullreq also caused a build failure on OSX when trying to build
something else after rolling back the merge (but only on OSX, oddly):

make: Entering directory '/Users/pm215/src/qemu-for-merges/build/all'
config-host.mak is out-of-date, running configure
  GIT     ui/keycodemapdb tests/fp/berkeley-testfloat-3
tests/fp/berkeley-softfloat-3 meson dtc capstone slirp
Disabling PIE due to missing toolchain support
/usr/local/bin/ninja  build.ninja && touch build.ninja.stamp
[0/1] Regenerating build files.
Traceback (most recent call last):
  File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/mesonmain.py",
line 140, in run
    return options.run_func(options)
  File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/msetup.py",
line 245, in run
    app.generate()
  File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/msetup.py",
line 154, in generate
    env = environment.Environment(self.source_dir, self.build_dir, self.options)
  File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/environment.py",
line 523, in __init__
    self.coredata = coredata.load(self.get_build_dir())
  File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/coredata.py",
line 1016, in load
    obj = pickle.load(f)
ModuleNotFoundError: No module named 'mesonbuild.mesonlib.universal';
'mesonbuild.mesonlib' is not a package
FAILED: build.ninja
/usr/local/opt/python@3.8/bin/python3.8
/Users/pm215/src/qemu-for-merges/meson/meson.py --internal regenerate
/Users/pm215/src/qemu-for-merges
/Users/pm215/src/qemu-for-merges/build/all --backend ninja
ninja: error: rebuilding 'build.ninja': subcommand failed

This kind of "breaks the build tree such that you can't
just 'git reset' back to master" bug is irritating. Doesn't
meson have an "is this the right version" check on the cached
data it's loading out of the build tree ?

thanks
-- PMM

Re: [PULL v2 0/5] Meson version update
Posted by Paolo Bonzini 3 years, 1 month ago
On 16/03/21 11:59, Peter Maydell wrote:
> This kind of "breaks the build tree such that you can't
> just 'git reset' back to master" bug is irritating. Doesn't
> meson have an "is this the right version" check on the cached
> data it's loading out of the build tree ?

It does, but it doesn't expect a ModuleNotFoundError.  I'll fix this and 
open a pull request.

Paolo