MAINTAINERS | 21 + docs/devel/atomics.rst | 6 +- docs/devel/build-system.rst | 6 +- docs/devel/loads-stores.rst | 2 +- docs/devel/maintainers.rst | 4 +- docs/devel/migration/mapped-ram.rst | 4 +- docs/devel/testing/acpi-bits.rst | 26 +- docs/specs/fw_cfg.rst | 4 +- docs/specs/rapl-msr.rst | 25 +- configure | 170 +++++- meson.build | 158 +++++- rust/wrapper.h | 47 ++ .gitattributes | 3 + .gitlab-ci.d/buildtest.yml | 13 + .gitlab-ci.d/containers.yml | 6 + Kconfig | 1 + Kconfig.host | 3 + hw/arm/Kconfig | 30 +- meson_options.txt | 3 + python/scripts/vendor.py | 4 +- python/wheels/meson-1.2.3-py3-none-any.whl | Bin 964928 -> 0 bytes python/wheels/meson-1.5.0-py3-none-any.whl | Bin 0 -> 959846 bytes pythondeps.toml | 2 +- rust/.gitignore | 3 + rust/Kconfig | 1 + rust/hw/Kconfig | 2 + rust/hw/char/Kconfig | 3 + rust/hw/char/meson.build | 1 + rust/hw/char/pl011/.gitignore | 2 + rust/hw/char/pl011/Cargo.lock | 134 +++++ rust/hw/char/pl011/Cargo.toml | 26 + rust/hw/char/pl011/README.md | 31 ++ rust/hw/char/pl011/meson.build | 26 + rust/hw/char/pl011/src/device.rs | 599 +++++++++++++++++++++ rust/hw/char/pl011/src/device_class.rs | 70 +++ rust/hw/char/pl011/src/lib.rs | 586 ++++++++++++++++++++ rust/hw/char/pl011/src/memory_ops.rs | 59 ++ rust/hw/meson.build | 1 + rust/meson.build | 4 + rust/qemu-api-macros/Cargo.lock | 47 ++ rust/qemu-api-macros/Cargo.toml | 25 + rust/qemu-api-macros/README.md | 1 + rust/qemu-api-macros/meson.build | 25 + rust/qemu-api-macros/src/lib.rs | 43 ++ rust/qemu-api/.gitignore | 2 + rust/qemu-api/Cargo.lock | 7 + rust/qemu-api/Cargo.toml | 26 + rust/qemu-api/README.md | 17 + rust/qemu-api/build.rs | 14 + rust/qemu-api/meson.build | 24 + rust/qemu-api/src/definitions.rs | 97 ++++ rust/qemu-api/src/device_class.rs | 128 +++++ rust/qemu-api/src/lib.rs | 166 ++++++ rust/qemu-api/src/tests.rs | 49 ++ rust/rustfmt.toml | 7 + scripts/archive-source.sh | 29 +- scripts/make-release | 6 +- scripts/meson-buildoptions.sh | 3 + scripts/rust/rust_root_crate.sh | 13 + scripts/rust/rustc_args.py | 84 +++ subprojects/.gitignore | 11 + subprojects/arbitrary-int-1-rs.wrap | 7 + subprojects/bilge-0.2-rs.wrap | 7 + subprojects/bilge-impl-0.2-rs.wrap | 7 + subprojects/either-1-rs.wrap | 7 + subprojects/itertools-0.11-rs.wrap | 7 + .../packagefiles/arbitrary-int-1-rs/meson.build | 19 + subprojects/packagefiles/bilge-0.2-rs/meson.build | 29 + .../packagefiles/bilge-impl-0.2-rs/meson.build | 45 ++ subprojects/packagefiles/either-1-rs/meson.build | 24 + .../packagefiles/itertools-0.11-rs/meson.build | 30 ++ .../packagefiles/proc-macro-error-1-rs/meson.build | 40 ++ .../proc-macro-error-attr-1-rs/meson.build | 32 ++ .../packagefiles/proc-macro2-1-rs/meson.build | 31 ++ subprojects/packagefiles/quote-1-rs/meson.build | 29 + subprojects/packagefiles/syn-2-rs/meson.build | 40 ++ .../packagefiles/unicode-ident-1-rs/meson.build | 20 + subprojects/proc-macro-error-1-rs.wrap | 7 + subprojects/proc-macro-error-attr-1-rs.wrap | 7 + subprojects/proc-macro2-1-rs.wrap | 7 + subprojects/quote-1-rs.wrap | 7 + subprojects/syn-2-rs.wrap | 7 + subprojects/unicode-ident-1-rs.wrap | 7 + subprojects/unicode-ident-1-rs/meson.build | 20 + .../docker/dockerfiles/fedora-rust-nightly.docker | 173 ++++++ tests/docker/dockerfiles/opensuse-leap.docker | 2 +- tests/lcitool/mappings.yml | 2 +- tests/lcitool/refresh | 26 + 88 files changed, 3474 insertions(+), 75 deletions(-) create mode 100644 rust/wrapper.h delete mode 100644 python/wheels/meson-1.2.3-py3-none-any.whl create mode 100644 python/wheels/meson-1.5.0-py3-none-any.whl create mode 100644 rust/.gitignore create mode 100644 rust/Kconfig create mode 100644 rust/hw/Kconfig create mode 100644 rust/hw/char/Kconfig create mode 100644 rust/hw/char/meson.build create mode 100644 rust/hw/char/pl011/.gitignore create mode 100644 rust/hw/char/pl011/Cargo.lock create mode 100644 rust/hw/char/pl011/Cargo.toml create mode 100644 rust/hw/char/pl011/README.md create mode 100644 rust/hw/char/pl011/meson.build create mode 100644 rust/hw/char/pl011/src/device.rs create mode 100644 rust/hw/char/pl011/src/device_class.rs create mode 100644 rust/hw/char/pl011/src/lib.rs create mode 100644 rust/hw/char/pl011/src/memory_ops.rs create mode 100644 rust/hw/meson.build create mode 100644 rust/meson.build create mode 100644 rust/qemu-api-macros/Cargo.lock create mode 100644 rust/qemu-api-macros/Cargo.toml create mode 100644 rust/qemu-api-macros/README.md create mode 100644 rust/qemu-api-macros/meson.build create mode 100644 rust/qemu-api-macros/src/lib.rs create mode 100644 rust/qemu-api/.gitignore create mode 100644 rust/qemu-api/Cargo.lock create mode 100644 rust/qemu-api/Cargo.toml create mode 100644 rust/qemu-api/README.md create mode 100644 rust/qemu-api/build.rs create mode 100644 rust/qemu-api/meson.build create mode 100644 rust/qemu-api/src/definitions.rs create mode 100644 rust/qemu-api/src/device_class.rs create mode 100644 rust/qemu-api/src/lib.rs create mode 100644 rust/qemu-api/src/tests.rs create mode 100644 rust/rustfmt.toml create mode 100755 scripts/rust/rust_root_crate.sh create mode 100644 scripts/rust/rustc_args.py create mode 100644 subprojects/arbitrary-int-1-rs.wrap create mode 100644 subprojects/bilge-0.2-rs.wrap create mode 100644 subprojects/bilge-impl-0.2-rs.wrap create mode 100644 subprojects/either-1-rs.wrap create mode 100644 subprojects/itertools-0.11-rs.wrap create mode 100644 subprojects/packagefiles/arbitrary-int-1-rs/meson.build create mode 100644 subprojects/packagefiles/bilge-0.2-rs/meson.build create mode 100644 subprojects/packagefiles/bilge-impl-0.2-rs/meson.build create mode 100644 subprojects/packagefiles/either-1-rs/meson.build create mode 100644 subprojects/packagefiles/itertools-0.11-rs/meson.build create mode 100644 subprojects/packagefiles/proc-macro-error-1-rs/meson.build create mode 100644 subprojects/packagefiles/proc-macro-error-attr-1-rs/meson.build create mode 100644 subprojects/packagefiles/proc-macro2-1-rs/meson.build create mode 100644 subprojects/packagefiles/quote-1-rs/meson.build create mode 100644 subprojects/packagefiles/syn-2-rs/meson.build create mode 100644 subprojects/packagefiles/unicode-ident-1-rs/meson.build create mode 100644 subprojects/proc-macro-error-1-rs.wrap create mode 100644 subprojects/proc-macro-error-attr-1-rs.wrap create mode 100644 subprojects/proc-macro2-1-rs.wrap create mode 100644 subprojects/quote-1-rs.wrap create mode 100644 subprojects/syn-2-rs.wrap create mode 100644 subprojects/unicode-ident-1-rs.wrap create mode 100644 subprojects/unicode-ident-1-rs/meson.build create mode 100644 tests/docker/dockerfiles/fedora-rust-nightly.docker
The following changes since commit b5ab62b3c0050612c7f9b0b4baeb44ebab42775a: Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2024-10-04 19:28:37 +0100) are available in the Git repository at: https://gitlab.com/bonzini/qemu.git tags/for-upstream for you to fetch changes up to 381d2c36e1242f849a55f4622e50b9a69cb92842: docs: use consistent markup for footnotes (2024-10-11 13:08:32 +0200) v2->v3: new patches - scripts/archive-source: find directory name for subprojects - docs: fix invalid footnote syntax - docs: avoid footnotes consisting of just URLs - docs: use consistent markup for footnotes ---------------------------------------------------------------- * first commit for Rust support * add CI job using Fedora + Rust nightly * fix detection of ATOMIC128 on x86_64 * fix compilation with Sphinx 8.1.0 ---------------------------------------------------------------- Manos Pitsidianakis (6): build-sys: Add rust feature option rust: add bindgen step as a meson dependency .gitattributes: add Rust diff and merge attributes meson.build: add HAVE_GLIB_WITH_ALIGNED_ALLOC flag rust: add crate to expose bindings and interfaces rust: add utility procedural macro crate Paolo Bonzini (11): Require meson version 1.5.0 configure, meson: detect Rust toolchain scripts/archive-source: find directory name for subprojects rust: add PL011 device model meson: define qemu_isa_flags meson: ensure -mcx16 is passed when detecting ATOMIC128 dockerfiles: add a Dockerfile using a nightly Rust toolchain gitlab-ci: add Rust-enabled CI job docs: fix invalid footnote syntax docs: avoid footnotes consisting of just URLs docs: use consistent markup for footnotes Pierrick Bouvier (1): meson: fix machine option for x86_version MAINTAINERS | 21 + docs/devel/atomics.rst | 6 +- docs/devel/build-system.rst | 6 +- docs/devel/loads-stores.rst | 2 +- docs/devel/maintainers.rst | 4 +- docs/devel/migration/mapped-ram.rst | 4 +- docs/devel/testing/acpi-bits.rst | 26 +- docs/specs/fw_cfg.rst | 4 +- docs/specs/rapl-msr.rst | 25 +- configure | 170 +++++- meson.build | 158 +++++- rust/wrapper.h | 47 ++ .gitattributes | 3 + .gitlab-ci.d/buildtest.yml | 13 + .gitlab-ci.d/containers.yml | 6 + Kconfig | 1 + Kconfig.host | 3 + hw/arm/Kconfig | 30 +- meson_options.txt | 3 + python/scripts/vendor.py | 4 +- python/wheels/meson-1.2.3-py3-none-any.whl | Bin 964928 -> 0 bytes python/wheels/meson-1.5.0-py3-none-any.whl | Bin 0 -> 959846 bytes pythondeps.toml | 2 +- rust/.gitignore | 3 + rust/Kconfig | 1 + rust/hw/Kconfig | 2 + rust/hw/char/Kconfig | 3 + rust/hw/char/meson.build | 1 + rust/hw/char/pl011/.gitignore | 2 + rust/hw/char/pl011/Cargo.lock | 134 +++++ rust/hw/char/pl011/Cargo.toml | 26 + rust/hw/char/pl011/README.md | 31 ++ rust/hw/char/pl011/meson.build | 26 + rust/hw/char/pl011/src/device.rs | 599 +++++++++++++++++++++ rust/hw/char/pl011/src/device_class.rs | 70 +++ rust/hw/char/pl011/src/lib.rs | 586 ++++++++++++++++++++ rust/hw/char/pl011/src/memory_ops.rs | 59 ++ rust/hw/meson.build | 1 + rust/meson.build | 4 + rust/qemu-api-macros/Cargo.lock | 47 ++ rust/qemu-api-macros/Cargo.toml | 25 + rust/qemu-api-macros/README.md | 1 + rust/qemu-api-macros/meson.build | 25 + rust/qemu-api-macros/src/lib.rs | 43 ++ rust/qemu-api/.gitignore | 2 + rust/qemu-api/Cargo.lock | 7 + rust/qemu-api/Cargo.toml | 26 + rust/qemu-api/README.md | 17 + rust/qemu-api/build.rs | 14 + rust/qemu-api/meson.build | 24 + rust/qemu-api/src/definitions.rs | 97 ++++ rust/qemu-api/src/device_class.rs | 128 +++++ rust/qemu-api/src/lib.rs | 166 ++++++ rust/qemu-api/src/tests.rs | 49 ++ rust/rustfmt.toml | 7 + scripts/archive-source.sh | 29 +- scripts/make-release | 6 +- scripts/meson-buildoptions.sh | 3 + scripts/rust/rust_root_crate.sh | 13 + scripts/rust/rustc_args.py | 84 +++ subprojects/.gitignore | 11 + subprojects/arbitrary-int-1-rs.wrap | 7 + subprojects/bilge-0.2-rs.wrap | 7 + subprojects/bilge-impl-0.2-rs.wrap | 7 + subprojects/either-1-rs.wrap | 7 + subprojects/itertools-0.11-rs.wrap | 7 + .../packagefiles/arbitrary-int-1-rs/meson.build | 19 + subprojects/packagefiles/bilge-0.2-rs/meson.build | 29 + .../packagefiles/bilge-impl-0.2-rs/meson.build | 45 ++ subprojects/packagefiles/either-1-rs/meson.build | 24 + .../packagefiles/itertools-0.11-rs/meson.build | 30 ++ .../packagefiles/proc-macro-error-1-rs/meson.build | 40 ++ .../proc-macro-error-attr-1-rs/meson.build | 32 ++ .../packagefiles/proc-macro2-1-rs/meson.build | 31 ++ subprojects/packagefiles/quote-1-rs/meson.build | 29 + subprojects/packagefiles/syn-2-rs/meson.build | 40 ++ .../packagefiles/unicode-ident-1-rs/meson.build | 20 + subprojects/proc-macro-error-1-rs.wrap | 7 + subprojects/proc-macro-error-attr-1-rs.wrap | 7 + subprojects/proc-macro2-1-rs.wrap | 7 + subprojects/quote-1-rs.wrap | 7 + subprojects/syn-2-rs.wrap | 7 + subprojects/unicode-ident-1-rs.wrap | 7 + subprojects/unicode-ident-1-rs/meson.build | 20 + .../docker/dockerfiles/fedora-rust-nightly.docker | 173 ++++++ tests/docker/dockerfiles/opensuse-leap.docker | 2 +- tests/lcitool/mappings.yml | 2 +- tests/lcitool/refresh | 26 + 88 files changed, 3474 insertions(+), 75 deletions(-) create mode 100644 rust/wrapper.h delete mode 100644 python/wheels/meson-1.2.3-py3-none-any.whl create mode 100644 python/wheels/meson-1.5.0-py3-none-any.whl create mode 100644 rust/.gitignore create mode 100644 rust/Kconfig create mode 100644 rust/hw/Kconfig create mode 100644 rust/hw/char/Kconfig create mode 100644 rust/hw/char/meson.build create mode 100644 rust/hw/char/pl011/.gitignore create mode 100644 rust/hw/char/pl011/Cargo.lock create mode 100644 rust/hw/char/pl011/Cargo.toml create mode 100644 rust/hw/char/pl011/README.md create mode 100644 rust/hw/char/pl011/meson.build create mode 100644 rust/hw/char/pl011/src/device.rs create mode 100644 rust/hw/char/pl011/src/device_class.rs create mode 100644 rust/hw/char/pl011/src/lib.rs create mode 100644 rust/hw/char/pl011/src/memory_ops.rs create mode 100644 rust/hw/meson.build create mode 100644 rust/meson.build create mode 100644 rust/qemu-api-macros/Cargo.lock create mode 100644 rust/qemu-api-macros/Cargo.toml create mode 100644 rust/qemu-api-macros/README.md create mode 100644 rust/qemu-api-macros/meson.build create mode 100644 rust/qemu-api-macros/src/lib.rs create mode 100644 rust/qemu-api/.gitignore create mode 100644 rust/qemu-api/Cargo.lock create mode 100644 rust/qemu-api/Cargo.toml create mode 100644 rust/qemu-api/README.md create mode 100644 rust/qemu-api/build.rs create mode 100644 rust/qemu-api/meson.build create mode 100644 rust/qemu-api/src/definitions.rs create mode 100644 rust/qemu-api/src/device_class.rs create mode 100644 rust/qemu-api/src/lib.rs create mode 100644 rust/qemu-api/src/tests.rs create mode 100644 rust/rustfmt.toml create mode 100755 scripts/rust/rust_root_crate.sh create mode 100644 scripts/rust/rustc_args.py create mode 100644 subprojects/arbitrary-int-1-rs.wrap create mode 100644 subprojects/bilge-0.2-rs.wrap create mode 100644 subprojects/bilge-impl-0.2-rs.wrap create mode 100644 subprojects/either-1-rs.wrap create mode 100644 subprojects/itertools-0.11-rs.wrap create mode 100644 subprojects/packagefiles/arbitrary-int-1-rs/meson.build create mode 100644 subprojects/packagefiles/bilge-0.2-rs/meson.build create mode 100644 subprojects/packagefiles/bilge-impl-0.2-rs/meson.build create mode 100644 subprojects/packagefiles/either-1-rs/meson.build create mode 100644 subprojects/packagefiles/itertools-0.11-rs/meson.build create mode 100644 subprojects/packagefiles/proc-macro-error-1-rs/meson.build create mode 100644 subprojects/packagefiles/proc-macro-error-attr-1-rs/meson.build create mode 100644 subprojects/packagefiles/proc-macro2-1-rs/meson.build create mode 100644 subprojects/packagefiles/quote-1-rs/meson.build create mode 100644 subprojects/packagefiles/syn-2-rs/meson.build create mode 100644 subprojects/packagefiles/unicode-ident-1-rs/meson.build create mode 100644 subprojects/proc-macro-error-1-rs.wrap create mode 100644 subprojects/proc-macro-error-attr-1-rs.wrap create mode 100644 subprojects/proc-macro2-1-rs.wrap create mode 100644 subprojects/quote-1-rs.wrap create mode 100644 subprojects/syn-2-rs.wrap create mode 100644 subprojects/unicode-ident-1-rs.wrap create mode 100644 subprojects/unicode-ident-1-rs/meson.build create mode 100644 tests/docker/dockerfiles/fedora-rust-nightly.docker -- 2.46.2
On Fri, 11 Oct 2024 at 18:13, Paolo Bonzini <pbonzini@redhat.com> wrote: > > The following changes since commit b5ab62b3c0050612c7f9b0b4baeb44ebab42775a: > > Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2024-10-04 19:28:37 +0100) > > are available in the Git repository at: > > https://gitlab.com/bonzini/qemu.git tags/for-upstream > > for you to fetch changes up to 381d2c36e1242f849a55f4622e50b9a69cb92842: > > docs: use consistent markup for footnotes (2024-10-11 13:08:32 +0200) > > v2->v3: new patches > - scripts/archive-source: find directory name for subprojects > - docs: fix invalid footnote syntax > - docs: avoid footnotes consisting of just URLs > - docs: use consistent markup for footnotes > > ---------------------------------------------------------------- > * first commit for Rust support > * add CI job using Fedora + Rust nightly > * fix detection of ATOMIC128 on x86_64 > * fix compilation with Sphinx 8.1.0 > Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/9.2 for any user-visible changes. (In particular, for the Rust stuff we should be clear in the changelog about its status, including security status, and what we recommend downstream distro packagers do at this stage.) -- PMM
On Mon, 14 Oct 2024 at 11:12, Peter Maydell <peter.maydell@linaro.org> wrote: > > On Fri, 11 Oct 2024 at 18:13, Paolo Bonzini <pbonzini@redhat.com> wrote: > > v2->v3: new patches > > - scripts/archive-source: find directory name for subprojects > > - docs: fix invalid footnote syntax > > - docs: avoid footnotes consisting of just URLs > > - docs: use consistent markup for footnotes > > > > ---------------------------------------------------------------- > > * first commit for Rust support > > * add CI job using Fedora + Rust nightly > > * fix detection of ATOMIC128 on x86_64 > > * fix compilation with Sphinx 8.1.0 > Applied, thanks. With this applied, I find that on one of my personal local dev branches an incremental rebuild fails, because meson complains about not finding a new enough bindgen, even though I did not --enable-rust. Meson also complains about a bogus coredata.dat and we end up running meson three times before it eventually decides the error is fatal. It looks like meson is incorrectly defaulting to "rust enabled" rather than "rust disabled" here ? e104462:jammy:qemu$ make -C build/x86 -j8 make: Entering directory '/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86' config-host.mak is out-of-date, running configure python determined to be '/usr/bin/python3' python version: Python 3.10.12 mkvenv: Creating non-isolated virtual environment at 'pyvenv' mkvenv: checking for meson>=1.5.0 mkvenv: checking for pycotap>=1.1.0 mkvenv: installing meson==1.5.0, pycotap==1.3.1 mkvenv: checking for sphinx>=3.4.3 mkvenv: checking for sphinx_rtd_theme>=0.5 [0/1] Regenerating build files. WARNING: Regenerating configuration from scratch. Reason: Coredata file '/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/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: 1.5.0 Source dir: /mnt/nvmedisk/linaro/qemu-from-laptop/qemu Build dir: /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86 Build type: native build Project name: qemu Project version: 9.1.50 C compiler for the host machine: ccache gcc -m64 (gcc 11.4.0 "gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0") C linker for the host machine: gcc -m64 ld.bfd 2.38 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program scripts/symlink-install-tree.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/symlink-install-tree.py) Program sh found: YES (/usr/bin/sh) Program python3 found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3) Rust compiler for the host machine: rustc -C linker=gcc -C link-arg=-m64 (rustc 1.81.0) Rust linker for the host machine: rustc -C linker=gcc -C link-arg=-m64 ld.bfd 2.38 Program iasl found: YES (/usr/bin/iasl) Program bzip2 found: YES (/usr/bin/bzip2) [trimmed a bunch of uninteresting meson output] Executing subproject keycodemapdb keycodemapdb| Project name: keycodemapdb keycodemapdb| Project version: undefined keycodemapdb| Program tools/keymap-gen found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/subprojects/keycodemapdb/tools/keymap-gen) keycodemapdb| Build targets in project: 272 keycodemapdb| Subproject keycodemapdb finished. Program scripts/decodetree.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/decodetree.py) Program ../scripts/modules/module_block.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/block/../scripts/modules/module_block.py) Program ../scripts/block-coroutine-wrapper.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/block/../scripts/block-coroutine-wrapper.py) Program scripts/modinfo-collect.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/modinfo-collect.py) Program scripts/modinfo-generate.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/modinfo-generate.py) Program nm found: YES Program scripts/undefsym.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/undefsym.py) Program scripts/rust/rustc_args.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/rust/rustc_args.py) Program bindgen found: NO found 0.53.1 but need: '>=0.69.4' (/home/petmay01/.cargo/bin/bindgen) ../../meson.build:3965:31: ERROR: Program 'bindgen' not found or not executable A full log can be found at /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/meson-logs/meson-log.txt FAILED: build.ninja /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/meson --internal regenerate /mnt/nvmedisk/linaro/qemu-from-laptop/qemu . ninja: error: rebuilding 'build.ninja': subcommand failed [0/1] Regenerating build files. WARNING: Regenerating configuration from scratch. Reason: Coredata file '/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/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: 1.5.0 Source dir: /mnt/nvmedisk/linaro/qemu-from-laptop/qemu Build dir: /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86 Build type: native build Project name: qemu Project version: 9.1.50 [more stuff trimmed] Program scripts/undefsym.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/undefsym.py) Program scripts/rust/rustc_args.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/rust/rustc_args.py) Program bindgen found: NO found 0.53.1 but need: '>=0.69.4' (/home/petmay01/.cargo/bin/bindgen) ../../meson.build:3965:31: ERROR: Program 'bindgen' not found or not executable A full log can be found at /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/meson-logs/meson-log.txt FAILED: build.ninja /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/meson --internal regenerate /mnt/nvmedisk/linaro/qemu-from-laptop/qemu . ninja: error: rebuilding 'build.ninja': subcommand failed [0/1] Regenerating build files. WARNING: Regenerating configuration from scratch. Reason: Coredata file '/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/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: 1.5.0 Source dir: /mnt/nvmedisk/linaro/qemu-from-laptop/qemu Build dir: /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86 Build type: native build Project name: qemu Project version: 9.1.50 [more stuff trimmed] Program scripts/decodetree.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/decodetree.py) Program ../scripts/modules/module_block.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/block/../scripts/modules/module_block.py) Program ../scripts/block-coroutine-wrapper.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/block/../scripts/block-coroutine-wrapper.py) Program scripts/modinfo-collect.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/modinfo-collect.py) Program scripts/modinfo-generate.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/modinfo-generate.py) Program nm found: YES Program scripts/undefsym.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/undefsym.py) Program scripts/rust/rustc_args.py found: YES (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/python3 /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/scripts/rust/rustc_args.py) Program bindgen found: NO found 0.53.1 but need: '>=0.69.4' (/home/petmay01/.cargo/bin/bindgen) ../../meson.build:3965:31: ERROR: Program 'bindgen' not found or not executable A full log can be found at /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/meson-logs/meson-log.txt ninja: error: rebuilding 'build.ninja': subcommand failed FAILED: build.ninja /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86/pyvenv/bin/meson --internal regenerate /mnt/nvmedisk/linaro/qemu-from-laptop/qemu . make: *** [Makefile:168: run-ninja] Error 1 (Side note -- for some reason meson generates colourised markup on its first two runs but not the third...) -- PMM
On Mon, Oct 14, 2024 at 11:40:11AM +0100, Peter Maydell wrote: > On Mon, 14 Oct 2024 at 11:12, Peter Maydell <peter.maydell@linaro.org> wrote: > > > > On Fri, 11 Oct 2024 at 18:13, Paolo Bonzini <pbonzini@redhat.com> wrote: > > > v2->v3: new patches > > > - scripts/archive-source: find directory name for subprojects > > > - docs: fix invalid footnote syntax > > > - docs: avoid footnotes consisting of just URLs > > > - docs: use consistent markup for footnotes > > > > > > ---------------------------------------------------------------- > > > * first commit for Rust support > > > * add CI job using Fedora + Rust nightly > > > * fix detection of ATOMIC128 on x86_64 > > > * fix compilation with Sphinx 8.1.0 > > > Applied, thanks. > > With this applied, I find that on one of my personal > local dev branches an incremental rebuild fails, because > meson complains about not finding a new enough bindgen, > even though I did not --enable-rust. Meson also complains > about a bogus coredata.dat and we end up running meson > three times before it eventually decides the error is fatal. > > It looks like meson is incorrectly defaulting to "rust > enabled" rather than "rust disabled" here ? I've just hit a similar problem, except in my case I'm on Fedora 40 and have new enough rust + bindgen present. It downloaded a bunch of rust stuff and then failed complaining about the target triple being unknown: $ make make[1]: Entering directory '/var/home/berrange/src/virt/qemu/build' config-host.mak is out-of-date, running configure python determined to be '/usr/bin/python3' python version: Python 3.12.5 mkvenv: Creating non-isolated virtual environment at 'pyvenv' mkvenv: checking for meson>=1.5.0 mkvenv: checking for pycotap>=1.1.0 mkvenv: installing meson==1.5.0 mkvenv: checking for sphinx>=3.4.3 mkvenv: checking for sphinx_rtd_theme>=0.5 [0/1] Regenerating build files. WARNING: Regenerating configuration from scratch. Reason: Coredata file '/var/home/berrange/src/virt/qemu/build/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: 1.5.0 Source dir: /var/home/berrange/src/virt/qemu Build dir: /var/home/berrange/src/virt/qemu/build Build type: native build Project name: qemu Project version: 9.1.50 C compiler for the host machine: cc -m64 (gcc 14.2.1 "cc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)") C linker for the host machine: cc -m64 ld.bfd 2.41-37 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program scripts/symlink-install-tree.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/symlink-install-tree.py) Program sh found: YES (/usr/bin/sh) Program python3 found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3) Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 Program iasl found: NO Program bzip2 found: YES (/usr/bin/bzip2) Compiler for C supports link arguments -Wl,-z,relro: YES Compiler for C supports link arguments -Wl,-z,now: YES Checking if "-fzero-call-used-regs=used-gpr" compiles: YES Compiler for C supports arguments -ftrivial-auto-var-init=zero: YES Compiler for C supports arguments -fzero-call-used-regs=used-gpr: YES Compiler for C supports arguments -Wempty-body: YES Compiler for C supports arguments -Wendif-labels: YES Compiler for C supports arguments -Wexpansion-to-defined: YES Compiler for C supports arguments -Wformat-security: YES Compiler for C supports arguments -Wformat-y2k: YES Compiler for C supports arguments -Wignored-qualifiers: YES Compiler for C supports arguments -Wimplicit-fallthrough=2: YES Compiler for C supports arguments -Winit-self: YES Compiler for C supports arguments -Wmissing-format-attribute: YES Compiler for C supports arguments -Wmissing-prototypes: YES Compiler for C supports arguments -Wnested-externs: YES Compiler for C supports arguments -Wold-style-declaration: YES Compiler for C supports arguments -Wold-style-definition: YES Compiler for C supports arguments -Wredundant-decls: YES Compiler for C supports arguments -Wshadow=local: YES Compiler for C supports arguments -Wstrict-prototypes: YES Compiler for C supports arguments -Wtype-limits: YES Compiler for C supports arguments -Wundef: YES Compiler for C supports arguments -Wvla: YES Compiler for C supports arguments -Wwrite-strings: YES Compiler for C supports arguments -Wno-gnu-variable-sized-type-not-at-end: NO Compiler for C supports arguments -Wno-initializer-overrides: NO Compiler for C supports arguments -Wno-missing-include-dirs: YES Compiler for C supports arguments -Wno-psabi: YES Compiler for C supports arguments -Wno-shift-negative-value: YES Compiler for C supports arguments -Wno-string-plus-int: NO Compiler for C supports arguments -Wno-tautological-type-limit-compare: NO Compiler for C supports arguments -Wno-typedef-redefinition: NO Program cgcc found: YES (/usr/bin/cgcc) Program scripts/check_sparse.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/check_sparse.py) Library m found: YES Run-time dependency threads found: YES Library util found: YES Run-time dependency appleframeworks found: NO (tried framework) Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1 Run-time dependency xencontrol found: YES 4.18.0 Run-time dependency xenstore found: YES 4.0 Run-time dependency xenforeignmemory found: YES 1.4 Run-time dependency xengnttab found: YES 1.2 Run-time dependency xenevtchn found: YES 1.2 Run-time dependency xendevicemodel found: YES 1.4 Run-time dependency xentoolcore found: YES 1.0 Run-time dependency glib-2.0 found: YES 2.80.3 Run-time dependency gmodule-no-export-2.0 found: YES 2.80.3 Run-time dependency gio-2.0 found: YES 2.80.3 Program /usr/bin/gdbus-codegen found: YES (/usr/bin/gdbus-codegen) Run-time dependency gio-unix-2.0 found: YES 2.80.3 Program scripts/xml-preprocess.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/xml-preprocess.py) Run-time dependency pixman-1 found: YES 0.43.4 Run-time dependency zlib found: YES 1.3.1.zlib-ng Has header "libaio.h" : YES Library aio found: YES Run-time dependency liburing found: YES 2.5 Run-time dependency libnfs found: YES 5.0.3 Run-time dependency appleframeworks found: NO (tried framework) Run-time dependency appleframeworks found: NO (tried framework) Run-time dependency libseccomp found: YES 2.5.5 Header "seccomp.h" has symbol "SCMP_FLTATR_API_SYSRAWRC" with dependency libseccomp: YES Has header "cap-ng.h" : YES Library cap-ng found: YES Run-time dependency xkbcommon found: YES 1.6.0 Run-time dependency slirp found: YES 4.7.0 Has header "libvdeplug.h" : NO Run-time dependency libpulse found: YES 16.1 Run-time dependency alsa found: YES 1.2.12 Run-time dependency jack found: YES 1.9.17 Run-time dependency libpipewire-0.3 found: YES 1.0.7 Run-time dependency sndio found: NO (tried pkgconfig) Run-time dependency spice-protocol found: YES 0.14.4 Run-time dependency spice-server found: YES 0.15.1 Library rt found: YES Run-time dependency libiscsi found: YES 1.19.0 Run-time dependency libzstd found: YES 1.5.6 Run-time dependency qpl found: NO (tried pkgconfig) Run-time dependency libwd found: NO (tried pkgconfig) Run-time dependency libwd_comp found: NO (tried pkgconfig) Run-time dependency qatzip found: NO (tried pkgconfig) Run-time dependency virglrenderer found: YES 1.0.1 Run-time dependency rutabaga_gfx_ffi found: NO (tried pkgconfig) Run-time dependency blkio found: YES 1.5.0 Run-time dependency libcurl found: YES 8.6.0 Run-time dependency libudev found: YES 255 Library mpathpersist found: YES Library multipath found: YES Run-time dependency ncursesw found: YES 6.4.20240127 Has header "brlapi.h" : YES Library brlapi found: YES Run-time dependency sdl2 found: YES 2.30.3 Run-time dependency sdl2_image found: YES 2.8.2 Library rados found: YES Has header "rbd/librbd.h" : YES Library rbd found: YES Run-time dependency glusterfs-api found: YES 7.11.1 Run-time dependency libssh found: YES 0.10.6 Has header "bzlib.h" : YES Library bz2 found: YES Has header "lzfse.h" : NO Has header "sys/soundcard.h" : YES Run-time dependency epoxy found: YES 1.5.10 Has header "epoxy/egl.h" with dependency epoxy: YES Run-time dependency gbm found: YES 24.1.7 Run-time dependency gnutls found: YES 3.8.6 Run-time dependency capstone found: YES 5.0.1 Run-time dependency gmp found: YES 6.2.1 Run-time dependency gtk+-3.0 found: YES 3.24.43 Run-time dependency gtk+-x11-3.0 found: YES 3.24.43 Run-time dependency vte-2.91 found: YES 0.76.3 Run-time dependency x11 found: YES 1.8.10 Run-time dependency libpng found: YES 1.6.40 Run-time dependency libjpeg found: YES 3.0.2 Has header "sasl/sasl.h" : YES Library sasl2 found: YES Has header "security/pam_appl.h" : YES Library pam found: YES Has header "snappy-c.h" : YES Library snappy found: YES Has header "lzo/lzo1x.h" : YES Library lzo2 found: YES Has header "numa.h" : YES Library numa found: YES Library fdt found: YES Has header "rdma/rdma_cma.h" : YES Library rdmacm found: YES Library ibverbs found: YES Run-time dependency libcacard found: YES 2.8.1 Run-time dependency u2f-emu found: NO (tried pkgconfig) Run-time dependency canokey-qemu found: NO (tried pkgconfig) Run-time dependency libusbredirparser-0.5 found: YES 0.13.0 Run-time dependency libusb-1.0 found: YES 1.0.27 Run-time dependency libpmem found: YES 2.0.1 Run-time dependency libdaxctl found: YES 79 Run-time dependency libtasn1 found: YES 4.19.0 Run-time dependency libkeyutils found: YES 1.6.3 Checking for function "gettid" : YES Run-time dependency libselinux found: YES 3.6 Checking for function "malloc_trim" : YES Header "sys/stat.h" has symbol "STATX_BASIC_STATS" : YES Header "sys/stat.h" has symbol "STATX_MNT_ID" : YES Run-time dependency fuse3 found: YES 3.16.2 Run-time dependency libbpf found: YES 1.2.3 Run-time dependency libxdp found: YES 1.4.2 Run-time dependency libdw found: YES 0.191 Header "linux/fs.h" has symbol "FIFREEZE" : YES Header "linux/fs.h" has symbol "FITRIM" : YES Checking for function "numa_has_preferred_many" with dependency -lnuma: YES Checking whether type "struct virgl_renderer_resource_info_ext" has member "d3d_tex2d" with dependency virglrenderer: YES Has header "sys/epoll.h" : YES Has header "linux/magic.h" : YES Has header "valgrind/valgrind.h" : NO Has header "linux/btrfs.h" : YES Has header "libdrm/drm.h" : YES Has header "linux/openat2.h" : YES Has header "pty.h" : YES Has header "sys/disk.h" : NO Has header "sys/ioccom.h" : NO Has header "sys/kcov.h" : NO Checking for function "close_range" : YES Checking for function "accept4" : YES Checking for function "clock_adjtime" : YES Checking for function "dup3" : YES Checking for function "fallocate" : YES Checking for function "posix_fallocate" : YES Checking for function "getcpu" : YES Checking for function "sched_getcpu" : NO Checking for function "posix_memalign" : YES Checking for function "_aligned_malloc" : NO Checking for function "valloc" : YES Checking for function "memalign" : YES Checking for function "ppoll" : YES Checking for function "preadv" : YES Checking for function "pthread_fchdir_np" : NO Checking for function "sendfile" : YES Checking for function "setns" : YES Checking for function "unshare" : YES Checking for function "syncfs" : YES Checking for function "sync_file_range" : YES Checking for function "timerfd_create" : YES Checking for function "copy_file_range" : YES Checking for function "getifaddrs" : YES Checking for function "openpty" with dependency -lutil: YES Checking for function "strchrnul" : YES Checking for function "system" : YES Checking for function "rbd_namespace_exists" with dependencies -lrbd, -lrados: YES Checking for function "ibv_advise_mr" with dependencies -lrdmacm, -libverbs: YES Header "sys/inotify.h" has symbol "inotify_init" : YES Header "sys/inotify.h" has symbol "inotify_init1" : YES Header "linux/blkzoned.h" has symbol "BLKOPENZONE" : YES Header "sys/epoll.h" has symbol "epoll_create1" : YES Header "linux/falloc.h" has symbol "FALLOC_FL_PUNCH_HOLE" : YES Header "linux/falloc.h" has symbol "FALLOC_FL_KEEP_SIZE" : YES Header "linux/falloc.h" has symbol "FALLOC_FL_ZERO_RANGE" : YES Has header "linux/fiemap.h" : YES Header "linux/fs.h" has symbol "FS_IOC_FIEMAP" : YES Checking for function "getrandom" : YES Header "sys/random.h" has symbol "GRND_NONBLOCK" : YES Header "sys/prctl.h" has symbol "PR_SET_TIMERSLACK" : YES Header "linux/rtnetlink.h" has symbol "IFLA_PROTO_DOWN" : YES Header "sys/sysmacros.h" has symbol "makedev" : YES Header "getopt.h" has symbol "optreset" : NO Header "netinet/in.h" has symbol "IPPROTO_MPTCP" : YES Checking whether type "struct sigevent" has member "sigev_notify_thread_id" : NO Checking whether type "struct stat" has member "st_atim" : YES Checking whether type "struct blk_zone" has member "capacity" : YES Checking for type "struct iovec" : YES Checking for type "struct utmpx" : YES Checking for type "struct mmsghdr" : YES Header "asm/hwprobe.h" has symbol "RISCV_HWPROBE_EXT_ZBA" : NO Header "linux/vm_sockets.h" has symbol "AF_VSOCK" : YES Program scripts/minikconf.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/minikconf.py) Configuring x86_64-softmmu-config-target.h using configuration Configuring x86_64-softmmu-config-devices.mak with command Reading depfile: /var/home/berrange/src/virt/qemu/build/meson-private/x86_64-softmmu-config-devices.mak.d Configuring x86_64-softmmu-config-devices.h using configuration Program scripts/make-config-poison.sh found: YES (/var/home/berrange/src/virt/qemu/scripts/make-config-poison.sh) Executing subproject libvhost-user libvhost-user| Project name: libvhost-user libvhost-user| Project version: undefined libvhost-user| C compiler for the host machine: cc -m64 (gcc 14.2.1 "cc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)") libvhost-user| C linker for the host machine: cc -m64 ld.bfd 2.41-37 libvhost-user| Compiler for C supports arguments -Wsign-compare: YES libvhost-user| Compiler for C supports arguments -Wdeclaration-after-statement: YES libvhost-user| Compiler for C supports arguments -Wstrict-aliasing: YES libvhost-user| Dependency threads found: YES unknown (cached) libvhost-user| Dependency glib-2.0 found: YES 2.80.3 (overridden) libvhost-user| Build targets in project: 5 libvhost-user| Subproject libvhost-user finished. Executing subproject libvduse libvduse| Project name: libvduse libvduse| Project version: undefined libvduse| C compiler for the host machine: cc -m64 (gcc 14.2.1 "cc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)") libvduse| C linker for the host machine: cc -m64 ld.bfd 2.41-37 libvduse| Compiler for C supports arguments -Wsign-compare: YES (cached) libvduse| Compiler for C supports arguments -Wdeclaration-after-statement: YES (cached) libvduse| Compiler for C supports arguments -Wstrict-aliasing: YES (cached) libvduse| Build targets in project: 6 libvduse| Subproject libvduse finished. Configuring config-host.h using configuration Program scripts/hxtool found: YES (/var/home/berrange/src/virt/qemu/scripts/hxtool) Program scripts/shaderinclude.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/shaderinclude.py) Program scripts/qapi-gen.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/qapi-gen.py) Program scripts/qemu-version.sh found: YES (/var/home/berrange/src/virt/qemu/scripts/qemu-version.sh) Executing subproject keycodemapdb keycodemapdb| Project name: keycodemapdb keycodemapdb| Project version: undefined keycodemapdb| Program tools/keymap-gen found: YES (/var/home/berrange/src/virt/qemu/subprojects/keycodemapdb/tools/keymap-gen) keycodemapdb| Build targets in project: 269 keycodemapdb| Subproject keycodemapdb finished. Program scripts/decodetree.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/decodetree.py) Program ../scripts/modules/module_block.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/block/../scripts/modules/module_block.py) Program ../scripts/block-coroutine-wrapper.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/block/../scripts/block-coroutine-wrapper.py) Program scripts/modinfo-collect.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/modinfo-collect.py) Program scripts/modinfo-generate.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/modinfo-generate.py) Program nm found: YES Program scripts/undefsym.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/undefsym.py) Program scripts/rust/rustc_args.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/rust/rustc_args.py) Program bindgen found: YES 0.69.4 0.69.4 (/usr/bin/bindgen) Found CMake: /usr/bin/cmake (3.28.2) WARNING: CMake Toolchain: Failed to determine CMake compilers state Build-time dependency quote-1-rs found: NO (tried pkgconfig and cmake) Looking for a fallback subproject for the dependency quote-1-rs Downloading quote-1-rs source from https://crates.io/api/v1/crates/quote/1.0.36/download Download size: 28507 Downloading: .......... Executing subproject quote-1-rs quote-1-rs| Project name: quote-1-rs quote-1-rs| Project version: 1.12.0 quote-1-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) quote-1-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 quote-1-rs| Downloading proc-macro2-1-rs source from https://crates.io/api/v1/crates/proc-macro2/1.0.84/download Download size: 48922 Downloading: .......... Executing subproject quote-1-rs:proc-macro2-1-rs proc-macro2-1-rs| Project name: proc-macro2-1-rs proc-macro2-1-rs| Project version: 1.0.84 proc-macro2-1-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) proc-macro2-1-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 proc-macro2-1-rs| Downloading unicode-ident-1-rs source from https://crates.io/api/v1/crates/unicode-ident/1.0.12/download Download size: 42168 Downloading: .......... Executing subproject quote-1-rs:proc-macro2-1-rs:unicode-ident-1-rs unicode-ident-1-rs| Project name: unicode-ident-1-rs unicode-ident-1-rs| Project version: 1.0.12 unicode-ident-1-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) unicode-ident-1-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 unicode-ident-1-rs| Build targets in project: 342 unicode-ident-1-rs| Subproject unicode-ident-1-rs finished. proc-macro2-1-rs| Dependency unicode-ident-1-rs found: YES 1.0.12 (overridden) proc-macro2-1-rs| Build targets in project: 343 proc-macro2-1-rs| Subproject proc-macro2-1-rs finished. quote-1-rs| Dependency proc-macro2-1-rs found: YES 1.0.84 (overridden) quote-1-rs| Build targets in project: 344 quote-1-rs| Subproject quote-1-rs finished. Dependency quote-1-rs found: YES 1.12.0 (overridden) Build-time dependency syn-2-rs found: NO (tried pkgconfig and cmake) Looking for a fallback subproject for the dependency syn-2-rs Downloading syn-2-rs source from https://crates.io/api/v1/crates/syn/2.0.66/download Download size: 264855 Downloading: .......... Executing subproject syn-2-rs syn-2-rs| Project name: syn-2-rs syn-2-rs| Project version: 2.0.66 syn-2-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) syn-2-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 syn-2-rs| Dependency proc-macro2-1-rs found: YES 1.0.84 (overridden) syn-2-rs| Dependency quote-1-rs found: YES 1.12.0 (overridden) syn-2-rs| Dependency unicode-ident-1-rs found: YES 1.0.12 (overridden) syn-2-rs| Build targets in project: 345 syn-2-rs| Subproject syn-2-rs finished. Dependency syn-2-rs found: YES 2.0.66 (overridden) Dependency proc-macro2-1-rs found: YES 1.0.84 (overridden) Downloading bilge-0.2-rs source from https://crates.io/api/v1/crates/bilge/0.2.0/download Download size: 14126 Downloading: .......... Executing subproject bilge-0.2-rs bilge-0.2-rs| Project name: bilge-0.2-rs bilge-0.2-rs| Project version: 0.2.0 bilge-0.2-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) bilge-0.2-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 bilge-0.2-rs| Downloading arbitrary-int-1-rs source from https://crates.io/api/v1/crates/arbitrary-int/1.2.7/download Download size: 20829 Downloading: .......... Executing subproject bilge-0.2-rs:arbitrary-int-1-rs arbitrary-int-1-rs| Project name: arbitrary-int-1-rs arbitrary-int-1-rs| Project version: 1.2.7 arbitrary-int-1-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) arbitrary-int-1-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 arbitrary-int-1-rs| Build targets in project: 348 arbitrary-int-1-rs| Subproject arbitrary-int-1-rs finished. bilge-0.2-rs| Downloading bilge-impl-0.2-rs source from https://crates.io/api/v1/crates/bilge-impl/0.2.0/download Download size: 24524 Downloading: .......... Executing subproject bilge-0.2-rs:bilge-impl-0.2-rs bilge-impl-0.2-rs| Project name: bilge-impl-0.2-rs bilge-impl-0.2-rs| Project version: 0.2.0 bilge-impl-0.2-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) bilge-impl-0.2-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 bilge-impl-0.2-rs| Downloading itertools-0.11-rs source from https://crates.io/api/v1/crates/itertools/0.11.0/download Download size: 125074 Downloading: .......... Executing subproject bilge-0.2-rs:bilge-impl-0.2-rs:itertools-0.11-rs itertools-0.11-rs| Project name: itertools-0.11-rs itertools-0.11-rs| Project version: 0.11.0 itertools-0.11-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) itertools-0.11-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 itertools-0.11-rs| Downloading either-1-rs source from https://crates.io/api/v1/crates/either/1.12.0/download Download size: 18974 Downloading: .......... Executing subproject bilge-0.2-rs:bilge-impl-0.2-rs:itertools-0.11-rs:either-1-rs either-1-rs| Project name: either-1-rs either-1-rs| Project version: 1.12.0 either-1-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) either-1-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 either-1-rs| Build targets in project: 349 either-1-rs| Subproject either-1-rs finished. itertools-0.11-rs| Dependency either-1-rs found: YES 1.12.0 (overridden) itertools-0.11-rs| Build targets in project: 350 itertools-0.11-rs| Subproject itertools-0.11-rs finished. bilge-impl-0.2-rs| Downloading proc-macro-error-attr-1-rs source from https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download ^[[6~Download size: 7971 Downloading: .......... Executing subproject bilge-0.2-rs:bilge-impl-0.2-rs:proc-macro-error-attr-1-rs proc-macro-error-attr-1-rs| Project name: proc-macro-error-attr-1-rs proc-macro-error-attr-1-rs| Project version: 1.12.0 proc-macro-error-attr-1-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) proc-macro-error-attr-1-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 proc-macro-error-attr-1-rs| Dependency proc-macro2-1-rs found: YES 1.0.84 (overridden) proc-macro-error-attr-1-rs| Dependency quote-1-rs found: YES 1.12.0 (overridden) proc-macro-error-attr-1-rs| Build targets in project: 351 proc-macro-error-attr-1-rs| Subproject proc-macro-error-attr-1-rs finished. bilge-impl-0.2-rs| Downloading proc-macro-error-1-rs source from https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download Download size: 25293 Downloading: .......... Executing subproject bilge-0.2-rs:bilge-impl-0.2-rs:proc-macro-error-1-rs proc-macro-error-1-rs| Project name: proc-macro-error-1-rs proc-macro-error-1-rs| Project version: 1.0.4 proc-macro-error-1-rs| Rust compiler for the host machine: rustc -C linker=cc -C link-arg=-m64 (rustc 1.81.0) proc-macro-error-1-rs| Rust linker for the host machine: rustc -C linker=cc -C link-arg=-m64 ld.bfd 2.41-37 proc-macro-error-1-rs| Dependency proc-macro-error-attr-1-rs found: YES 1.12.0 (overridden) proc-macro-error-1-rs| Dependency proc-macro2-1-rs found: YES 1.0.84 (overridden) proc-macro-error-1-rs| Dependency quote-1-rs found: YES 1.12.0 (overridden) proc-macro-error-1-rs| Dependency syn-2-rs found: YES 2.0.66 (overridden) proc-macro-error-1-rs| Build targets in project: 352 proc-macro-error-1-rs| Subproject proc-macro-error-1-rs finished. bilge-impl-0.2-rs| Dependency itertools-0.11-rs found: YES 0.11.0 (overridden) bilge-impl-0.2-rs| Dependency proc-macro-error-attr-1-rs found: YES 1.12.0 (overridden) bilge-impl-0.2-rs| Dependency proc-macro-error-1-rs found: YES 1.0.4 (overridden) bilge-impl-0.2-rs| Dependency quote-1-rs found: YES 1.12.0 (overridden) bilge-impl-0.2-rs| Dependency syn-2-rs found: YES 2.0.66 (overridden) bilge-impl-0.2-rs| Dependency proc-macro2-1-rs found: YES 1.0.84 (overridden) bilge-impl-0.2-rs| Build targets in project: 353 bilge-impl-0.2-rs| Subproject bilge-impl-0.2-rs finished. bilge-0.2-rs| Dependency arbitrary-int-1-rs found: YES 1.2.7 (overridden) bilge-0.2-rs| Dependency bilge-impl-0.2-rs found: YES 0.2.0 (overridden) bilge-0.2-rs| Build targets in project: 354 bilge-0.2-rs| Subproject bilge-0.2-rs finished. Dependency bilge-0.2-rs found: YES 0.2.0 (overridden) Dependency bilge-impl-0.2-rs found: YES 0.2.0 (overridden) Program scripts/feature_to_c.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/feature_to_c.py) Program scripts/rust/rust_root_crate.sh found: YES (/var/home/berrange/src/virt/qemu/scripts/rust/rust_root_crate.sh) Configuring 50-qemu-gpu.json using configuration Program dtc found: NO Configuring 50-edk2-i386-secure.json using configuration Configuring 50-edk2-x86_64-secure.json using configuration Configuring 60-edk2-aarch64.json using configuration Configuring 60-edk2-arm.json using configuration Configuring 60-edk2-i386.json using configuration Configuring 60-edk2-x86_64.json using configuration Configuring 60-edk2-loongarch64.json using configuration Program /var/home/berrange/src/virt/qemu/build/pyvenv/bin/sphinx-build found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/sphinx-build) Program bash found: YES 5.2.26 5.2.26 (/usr/bin/bash) Program /var/home/berrange/src/virt/qemu/scripts/decodetree.py found: YES (/var/home/berrange/src/virt/qemu/build/pyvenv/bin/python3 /var/home/berrange/src/virt/qemu/scripts/decodetree.py) WARNING: Subproject berkeley-softfloat-3's revision may be out of date; its wrap file has changed since it was first configured Executing subproject berkeley-softfloat-3 berkeley-softfloat-3| Project name: berkeley-softfloat-3 berkeley-softfloat-3| Project version: undefined berkeley-softfloat-3| C compiler for the host machine: cc -m64 (gcc 14.2.1 "cc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)") berkeley-softfloat-3| C linker for the host machine: cc -m64 ld.bfd 2.41-37 berkeley-softfloat-3| Configuring platform.h using configuration berkeley-softfloat-3| Build targets in project: 445 berkeley-softfloat-3| Subproject berkeley-softfloat-3 finished. WARNING: Subproject berkeley-testfloat-3's revision may be out of date; its wrap file has changed since it was first configured Executing subproject berkeley-testfloat-3 berkeley-testfloat-3| Project name: berkeley-testfloat-3 berkeley-testfloat-3| Project version: undefined berkeley-testfloat-3| C compiler for the host machine: cc -m64 (gcc 14.2.1 "cc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)") berkeley-testfloat-3| C linker for the host machine: cc -m64 ld.bfd 2.41-37 berkeley-testfloat-3| Configuring platform.h using configuration berkeley-testfloat-3| Compiler for C supports arguments -Wno-ignored-pragmas: NO berkeley-testfloat-3| Build targets in project: 447 berkeley-testfloat-3| Subproject berkeley-testfloat-3 finished. Program diff found: YES (/usr/bin/diff) Program dbus-daemon found: YES (/usr/bin/dbus-daemon) Run-time dependency gvnc-1.0 found: YES 1.3.1 Run-time dependency sysprof-capture-4 found: YES 46.0 Run-time dependency glib-2.0 found: YES 2.80.3 Program initrd-stress.sh found: YES (/var/home/berrange/src/virt/qemu/tests/migration/initrd-stress.sh) Program xgettext found: YES (/usr/bin/xgettext) Program msgfmt found: YES (/usr/bin/msgfmt) Program msginit found: YES (/usr/bin/msginit) Program msgmerge found: YES (/usr/bin/msgmerge) Program xgettext found: YES (/usr/bin/xgettext) ../meson.build:4435:50: ERROR: Key RUST_TARGET_TRIPLE is not in the dictionary. A full log can be found at /var/home/berrange/src/virt/qemu/build/meson-logs/meson-log.txt FAILED: build.ninja /var/home/berrange/src/virt/qemu/build/pyvenv/bin/meson --internal regenerate /var/home/berrange/src/virt/qemu . ninja: error: rebuilding 'build.ninja': subcommand failed [0/1] Regenerating build files. ...gets itself into a fail + re-run loop here, so I ctrl-c now... With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On Mon, Oct 14, 2024 at 12:40 PM Peter Maydell <peter.maydell@linaro.org> wrote: > > On Mon, 14 Oct 2024 at 11:12, Peter Maydell <peter.maydell@linaro.org> wrote: > > > > On Fri, 11 Oct 2024 at 18:13, Paolo Bonzini <pbonzini@redhat.com> wrote: > > > v2->v3: new patches > > > - scripts/archive-source: find directory name for subprojects > > > - docs: fix invalid footnote syntax > > > - docs: avoid footnotes consisting of just URLs > > > - docs: use consistent markup for footnotes > > > > > > ---------------------------------------------------------------- > > > * first commit for Rust support > > > * add CI job using Fedora + Rust nightly > > > * fix detection of ATOMIC128 on x86_64 > > > * fix compilation with Sphinx 8.1.0 > > > Applied, thanks. > > With this applied, I find that on one of my personal > local dev branches an incremental rebuild fails, because > meson complains about not finding a new enough bindgen, > even though I did not --enable-rust. Meson also complains > about a bogus coredata.dat and we end up running meson > three times before it eventually decides the error is fatal. The report of coredata.dat is just a warning that it's not able to use any cached data, which is expected when bumping the Meson version. It's definitely going in the "if have_rust and have_system" path. If you have the meson-logs/meson-log.txt and meson-private/cmd_line.txt files, they can help debugging. I'd expect a "rust = disabled" line in the latter... but yes I see what's happening. The test "$rust" != "auto" && meson_option_add "-Drust=$rust" line is only executed when configure runs meson. Here it doesn't, and Makefile just tells Meson to reconfigure itself. Meson then gets the command line options from either coredata.dat (which has everything cached in Python's pickle format) or cmd_line.txt (slow path when Meson version is upgraded), but neither knows about the rust option; and the meson_options.txt default is 'auto'. To sum up: 1) this is specific to incremental builds 2) this is *not* specific to the Meson version change, the coredata.dat warning is a red herring 3) this (mangled) patch would fix it: diff --git a/configure b/configure index 3e38a91616a..8a9a4153310 100755 --- a/configure +++ b/configure @@ -1987,7 +1987,7 @@ if test "$skip_meson" = no; then fi # QEMU options - test "$rust" != "auto" && meson_option_add "-Drust=$rust" + test "$rust" != "disabled" && meson_option_add "-Drust=$rust" test "$cfi" != false && meson_option_add "-Dcfi=$cfi" "-Db_lto=$cfi" test "$docs" != auto && meson_option_add "-Ddocs=$docs" test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engine=$LIB_FUZZING_ENGINE" diff --git a/meson_options.txt b/meson_options.txt index 2211f291b2d..fc6d5526d58 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -372,5 +372,5 @@ option('hexagon_idef_parser', type : 'boolean', value : true, option('x86_version', type : 'combo', choices : ['0', '1', '2', '3', '4'], value: '1', description: 'tweak required x86_64 architecture version beyond compiler default') -option('rust', type: 'feature', value: 'auto', +option('rust', type: 'feature', value: 'disabled', description: 'Rust support') and I can send it shortly; fortunately your tree never got a working coredata.dat, so it hasn't stored anywhere the rust=auto value. Paolo Paolo
On Mon, 14 Oct 2024 13:40, Peter Maydell <peter.maydell@linaro.org> wrote: >On Mon, 14 Oct 2024 at 11:12, Peter Maydell <peter.maydell@linaro.org> wrote: >> >> On Fri, 11 Oct 2024 at 18:13, Paolo Bonzini <pbonzini@redhat.com> wrote: >> > v2->v3: new patches >> > - scripts/archive-source: find directory name for subprojects >> > - docs: fix invalid footnote syntax >> > - docs: avoid footnotes consisting of just URLs >> > - docs: use consistent markup for footnotes >> > >> > ---------------------------------------------------------------- >> > * first commit for Rust support >> > * add CI job using Fedora + Rust nightly >> > * fix detection of ATOMIC128 on x86_64 >> > * fix compilation with Sphinx 8.1.0 > >> Applied, thanks. > >With this applied, I find that on one of my personal >local dev branches an incremental rebuild fails, because >meson complains about not finding a new enough bindgen, >even though I did not --enable-rust. Meson also complains >about a bogus coredata.dat and we end up running meson >three times before it eventually decides the error is fatal. > >It looks like meson is incorrectly defaulting to "rust >enabled" rather than "rust disabled" here ? > >[trimmed] In this pull request, meson_options.txt has: +option('rust', type: 'feature', value: 'auto', So it's not disabled by default. It sounds like meson enables the Rust feature because it found the rustc binary.
On Fri, 11 Oct 2024 at 18:13, Paolo Bonzini <pbonzini@redhat.com> wrote: > > The following changes since commit b5ab62b3c0050612c7f9b0b4baeb44ebab42775a: > > Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2024-10-04 19:28:37 +0100) > > are available in the Git repository at: > > https://gitlab.com/bonzini/qemu.git tags/for-upstream > > for you to fetch changes up to 381d2c36e1242f849a55f4622e50b9a69cb92842: > > docs: use consistent markup for footnotes (2024-10-11 13:08:32 +0200) > > v2->v3: new patches > - scripts/archive-source: find directory name for subprojects > - docs: fix invalid footnote syntax > - docs: avoid footnotes consisting of just URLs > - docs: use consistent markup for footnotes > > ---------------------------------------------------------------- > * first commit for Rust support > * add CI job using Fedora + Rust nightly > * fix detection of ATOMIC128 on x86_64 > * fix compilation with Sphinx 8.1.0 > Hi; 'make vm-build-openbsd' seems to still fail. It looks like the wrap file subprojects/unicode-ident-1-rs.wrap says "directory = unicode-ident-1.0.12" and the script correctly parses that out of the file, but the directory is actually named "unicode-ident-1-rs" (differently from the other rust ones), so we don't find it. make: Entering directory '/home/peter.maydell/qemu-openbsd/build' /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/meson introspect --targets --tests --benchmarks | /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/python3 -B scripts/mtest2make.py > Makefile.mtest { \ echo 'ninja-targets = \'; \ /usr/bin/ninja -t targets all | sed 's/:.*//; $!s/$/ \\/'; \ echo 'build-files = \'; \ /usr/bin/ninja -t query build.ninja | sed -n '1,/^ input:/d; /^ outputs:/q; s/$/ \\/p'; \ } > Makefile.ninja.tmp && mv Makefile.ninja.tmp Makefile.ninja /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/python3 -B /home/peter.maydell/qemu-openbsd/tests/vm/openbsd --debug --genisoimage /usr/bin/genisoimage --source-path /home/peter.maydell/qemu-openbsd --image "/home/peter.maydell/.cache/qemu-vm/images/openbsd.img" --build-image /home/peter.maydell/.cache/qemu-vm/images/openbsd.img Image file exists, skipping build: /home/peter.maydell/.cache/qemu-vm/images/openbsd.img Use --force option to overwrite /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/python3 -B /home/peter.maydell/qemu-openbsd/tests/vm/openbsd --debug --jobs 8 --verbose --image "/home/peter.maydell/.cache/qemu-vm/images/openbsd.img" --snapshot --build-qemu /home/peter.maydell/qemu-openbsd -- DEBUG:root:Creating archive /home/peter.maydell/qemu-openbsd/build/vm-test-w7gx56ds.tmp/data-993a1.tar for src_dir dir: /home/peter.maydell/qemu-openbsd Download keycodemapdb... -> Already downloaded Download libvfio-user... -> Already downloaded Download berkeley-softfloat-3... -> Already downloaded Download berkeley-testfloat-3... -> Already downloaded Download arbitrary-int-1-rs... -> Already downloaded Download bilge-0.2-rs... -> Already downloaded Download bilge-impl-0.2-rs... -> Already downloaded Download either-1-rs... -> Already downloaded Download itertools-0.11-rs... -> Already downloaded Download proc-macro2-1-rs... -> Already downloaded Download proc-macro-error-1-rs... -> Already downloaded Download proc-macro-error-attr-1-rs... -> Already downloaded Download quote-1-rs... -> Already downloaded Download syn-2-rs... -> Already downloaded Download unicode-ident-1-rs... -> Already downloaded tar: subprojects/unicode-ident-1.0.12: Cannot stat: No such file or directory tar: Exiting with failure status due to previous errors failed to append subproject unicode-ident-1-rs to /home/peter.maydell/qemu-openbsd/build/vm-test-w7gx56ds.tmp/data-993a1.tar Failed to prepare guest environment Traceback (most recent call last): File "/home/peter.maydell/qemu-openbsd/tests/vm/basevm.py", line 654, in main vm.add_source_dir(args.build_qemu) File "/home/peter.maydell/qemu-openbsd/tests/vm/basevm.py", line 277, in add_source_dir subprocess.check_call(["./scripts/archive-source.sh", tarfile], File "/usr/lib/python3.10/subprocess.py", line 369, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['./scripts/archive-source.sh', '/home/peter.maydell/qemu-openbsd/build/vm-test-w7gx56ds.tmp/data-993a1.tar']' returned non-zero exit status 1. make: *** [/home/peter.maydell/qemu-openbsd/tests/vm/Makefile.include:110: vm-build-openbsd] Error 2 make: Leaving directory '/home/peter.maydell/qemu-openbsd/build' -- PMM
On Sat, 12 Oct 2024 at 11:54, Peter Maydell <peter.maydell@linaro.org> wrote: > > On Fri, 11 Oct 2024 at 18:13, Paolo Bonzini <pbonzini@redhat.com> wrote: > > > > The following changes since commit b5ab62b3c0050612c7f9b0b4baeb44ebab42775a: > > > > Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2024-10-04 19:28:37 +0100) > > > > are available in the Git repository at: > > > > https://gitlab.com/bonzini/qemu.git tags/for-upstream > > > > for you to fetch changes up to 381d2c36e1242f849a55f4622e50b9a69cb92842: > > > > docs: use consistent markup for footnotes (2024-10-11 13:08:32 +0200) > > > > v2->v3: new patches > > - scripts/archive-source: find directory name for subprojects > > - docs: fix invalid footnote syntax > > - docs: avoid footnotes consisting of just URLs > > - docs: use consistent markup for footnotes > > > > ---------------------------------------------------------------- > > * first commit for Rust support > > * add CI job using Fedora + Rust nightly > > * fix detection of ATOMIC128 on x86_64 > > * fix compilation with Sphinx 8.1.0 > > > > Hi; 'make vm-build-openbsd' seems to still fail. It looks > like the wrap file subprojects/unicode-ident-1-rs.wrap says > "directory = unicode-ident-1.0.12" and the script correctly > parses that out of the file, but the directory is actually > named "unicode-ident-1-rs" (differently from the other rust ones), > so we don't find it. > > > make: Entering directory '/home/peter.maydell/qemu-openbsd/build' > /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/meson introspect > --targets --tests --benchmarks | > /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/python3 -B > scripts/mtest2make.py > Makefile.mtest > { \ > echo 'ninja-targets = \'; \ > /usr/bin/ninja -t targets all | sed 's/:.*//; $!s/$/ \\/'; \ > echo 'build-files = \'; \ > /usr/bin/ninja -t query build.ninja | sed -n '1,/^ input:/d; /^ > outputs:/q; s/$/ \\/p'; \ > } > Makefile.ninja.tmp && mv Makefile.ninja.tmp Makefile.ninja > /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/python3 -B > /home/peter.maydell/qemu-openbsd/tests/vm/openbsd --debug > --genisoimage /usr/bin/genisoimage --source-path > /home/peter.maydell/qemu-openbsd --image > "/home/peter.maydell/.cache/qemu-vm/images/openbsd.img" --build-image > /home/peter.maydell/.cache/qemu-vm/images/openbsd.img > Image file exists, skipping build: > /home/peter.maydell/.cache/qemu-vm/images/openbsd.img > Use --force option to overwrite > /home/peter.maydell/qemu-openbsd/build/pyvenv/bin/python3 -B > /home/peter.maydell/qemu-openbsd/tests/vm/openbsd --debug --jobs 8 > --verbose --image > "/home/peter.maydell/.cache/qemu-vm/images/openbsd.img" --snapshot > --build-qemu /home/peter.maydell/qemu-openbsd -- > DEBUG:root:Creating archive > /home/peter.maydell/qemu-openbsd/build/vm-test-w7gx56ds.tmp/data-993a1.tar > for src_dir dir: /home/peter.maydell/qemu-openbsd > Download keycodemapdb... > -> Already downloaded > Download libvfio-user... > -> Already downloaded > Download berkeley-softfloat-3... > -> Already downloaded > Download berkeley-testfloat-3... > -> Already downloaded > Download arbitrary-int-1-rs... > -> Already downloaded > Download bilge-0.2-rs... > -> Already downloaded > Download bilge-impl-0.2-rs... > -> Already downloaded > Download either-1-rs... > -> Already downloaded > Download itertools-0.11-rs... > -> Already downloaded > Download proc-macro2-1-rs... > -> Already downloaded > Download proc-macro-error-1-rs... > -> Already downloaded > Download proc-macro-error-attr-1-rs... > -> Already downloaded > Download quote-1-rs... > -> Already downloaded > Download syn-2-rs... > -> Already downloaded > Download unicode-ident-1-rs... > -> Already downloaded > tar: subprojects/unicode-ident-1.0.12: Cannot stat: No such file or directory > tar: Exiting with failure status due to previous errors > failed to append subproject unicode-ident-1-rs to > /home/peter.maydell/qemu-openbsd/build/vm-test-w7gx56ds.tmp/data-993a1.tar > Failed to prepare guest environment > Traceback (most recent call last): > File "/home/peter.maydell/qemu-openbsd/tests/vm/basevm.py", line 654, in main > vm.add_source_dir(args.build_qemu) > File "/home/peter.maydell/qemu-openbsd/tests/vm/basevm.py", line > 277, in add_source_dir > subprocess.check_call(["./scripts/archive-source.sh", tarfile], > File "/usr/lib/python3.10/subprocess.py", line 369, in check_call > raise CalledProcessError(retcode, cmd) > subprocess.CalledProcessError: Command > '['./scripts/archive-source.sh', > '/home/peter.maydell/qemu-openbsd/build/vm-test-w7gx56ds.tmp/data-993a1.tar']' > returned non-zero exit status 1. > make: *** [/home/peter.maydell/qemu-openbsd/tests/vm/Makefile.include:110: > vm-build-openbsd] Error 2 > make: Leaving directory '/home/peter.maydell/qemu-openbsd/build' Deleting the whole subprojects/unicode-ident-1-rs/ subdirectory seems to have fixed this -- it then realised it needed to do the download and put it in the right place. I guess that was a leftover from trying to build the previous version of the pullreq. But it suggests that something is missing in the dependencies, since it thought it had already downloaded it even though the directory it needed to put it in wasn't on disk... thanks -- PMM
Il sab 12 ott 2024, 16:02 Peter Maydell <peter.maydell@linaro.org> ha scritto: > Deleting the whole subprojects/unicode-ident-1-rs/ subdirectory > seems to have fixed this -- it then realised it needed to > do the download and put it in the right place. I guess that was a > leftover from trying to build the previous version of the pullreq. > But it suggests that something is missing in the dependencies, > since it thought it had already downloaded it even though > the directory it needed to put it in wasn't on disk... > That seems like it would be a meson bug (whether intentional or not); it's unlikely that it's an issue here since the wrap files are not particularly special. I can try to reproduce, but in the meanwhile I didn't understand if you're going to stage and apply this pull request or not. Thanks, Paolo > thanks > -- PMM > >
Hi On Fri, Oct 11, 2024 at 9:19 PM Paolo Bonzini <pbonzini@redhat.com> wrote: > The following changes since commit > b5ab62b3c0050612c7f9b0b4baeb44ebab42775a: > > Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into > staging (2024-10-04 19:28:37 +0100) > > are available in the Git repository at: > > https://gitlab.com/bonzini/qemu.git tags/for-upstream > > for you to fetch changes up to 381d2c36e1242f849a55f4622e50b9a69cb92842: > > docs: use consistent markup for footnotes (2024-10-11 13:08:32 +0200) > > v2->v3: new patches > - scripts/archive-source: find directory name for subprojects > - docs: fix invalid footnote syntax > - docs: avoid footnotes consisting of just URLs > - docs: use consistent markup for footnotes > > ---------------------------------------------------------------- > * first commit for Rust support > * add CI job using Fedora + Rust nightly > * fix detection of ATOMIC128 on x86_64 > * fix compilation with Sphinx 8.1.0 > fwiw, after a rustc update, I got this error: error[E0514]: found crate `bilge` compiled by an incompatible version of rustc ... tons of other errors It is fixed after a ninja clean. Apparently there is an "old" meson issue: https://github.com/mesonbuild/meson/issues/10706 > ---------------------------------------------------------------- > Manos Pitsidianakis (6): > build-sys: Add rust feature option > rust: add bindgen step as a meson dependency > .gitattributes: add Rust diff and merge attributes > meson.build: add HAVE_GLIB_WITH_ALIGNED_ALLOC flag > rust: add crate to expose bindings and interfaces > rust: add utility procedural macro crate > > Paolo Bonzini (11): > Require meson version 1.5.0 > configure, meson: detect Rust toolchain > scripts/archive-source: find directory name for subprojects > rust: add PL011 device model > meson: define qemu_isa_flags > meson: ensure -mcx16 is passed when detecting ATOMIC128 > dockerfiles: add a Dockerfile using a nightly Rust toolchain > gitlab-ci: add Rust-enabled CI job > docs: fix invalid footnote syntax > docs: avoid footnotes consisting of just URLs > docs: use consistent markup for footnotes > > Pierrick Bouvier (1): > meson: fix machine option for x86_version > > MAINTAINERS | 21 + > docs/devel/atomics.rst | 6 +- > docs/devel/build-system.rst | 6 +- > docs/devel/loads-stores.rst | 2 +- > docs/devel/maintainers.rst | 4 +- > docs/devel/migration/mapped-ram.rst | 4 +- > docs/devel/testing/acpi-bits.rst | 26 +- > docs/specs/fw_cfg.rst | 4 +- > docs/specs/rapl-msr.rst | 25 +- > configure | 170 +++++- > meson.build | 158 +++++- > rust/wrapper.h | 47 ++ > .gitattributes | 3 + > .gitlab-ci.d/buildtest.yml | 13 + > .gitlab-ci.d/containers.yml | 6 + > Kconfig | 1 + > Kconfig.host | 3 + > hw/arm/Kconfig | 30 +- > meson_options.txt | 3 + > python/scripts/vendor.py | 4 +- > python/wheels/meson-1.2.3-py3-none-any.whl | Bin 964928 -> 0 bytes > python/wheels/meson-1.5.0-py3-none-any.whl | Bin 0 -> 959846 bytes > pythondeps.toml | 2 +- > rust/.gitignore | 3 + > rust/Kconfig | 1 + > rust/hw/Kconfig | 2 + > rust/hw/char/Kconfig | 3 + > rust/hw/char/meson.build | 1 + > rust/hw/char/pl011/.gitignore | 2 + > rust/hw/char/pl011/Cargo.lock | 134 +++++ > rust/hw/char/pl011/Cargo.toml | 26 + > rust/hw/char/pl011/README.md | 31 ++ > rust/hw/char/pl011/meson.build | 26 + > rust/hw/char/pl011/src/device.rs | 599 > +++++++++++++++++++++ > rust/hw/char/pl011/src/device_class.rs | 70 +++ > rust/hw/char/pl011/src/lib.rs | 586 > ++++++++++++++++++++ > rust/hw/char/pl011/src/memory_ops.rs | 59 ++ > rust/hw/meson.build | 1 + > rust/meson.build | 4 + > rust/qemu-api-macros/Cargo.lock | 47 ++ > rust/qemu-api-macros/Cargo.toml | 25 + > rust/qemu-api-macros/README.md | 1 + > rust/qemu-api-macros/meson.build | 25 + > rust/qemu-api-macros/src/lib.rs | 43 ++ > rust/qemu-api/.gitignore | 2 + > rust/qemu-api/Cargo.lock | 7 + > rust/qemu-api/Cargo.toml | 26 + > rust/qemu-api/README.md | 17 + > rust/qemu-api/build.rs | 14 + > rust/qemu-api/meson.build | 24 + > rust/qemu-api/src/definitions.rs | 97 ++++ > rust/qemu-api/src/device_class.rs | 128 +++++ > rust/qemu-api/src/lib.rs | 166 ++++++ > rust/qemu-api/src/tests.rs | 49 ++ > rust/rustfmt.toml | 7 + > scripts/archive-source.sh | 29 +- > scripts/make-release | 6 +- > scripts/meson-buildoptions.sh | 3 + > scripts/rust/rust_root_crate.sh | 13 + > scripts/rust/rustc_args.py | 84 +++ > subprojects/.gitignore | 11 + > subprojects/arbitrary-int-1-rs.wrap | 7 + > subprojects/bilge-0.2-rs.wrap | 7 + > subprojects/bilge-impl-0.2-rs.wrap | 7 + > subprojects/either-1-rs.wrap | 7 + > subprojects/itertools-0.11-rs.wrap | 7 + > .../packagefiles/arbitrary-int-1-rs/meson.build | 19 + > subprojects/packagefiles/bilge-0.2-rs/meson.build | 29 + > .../packagefiles/bilge-impl-0.2-rs/meson.build | 45 ++ > subprojects/packagefiles/either-1-rs/meson.build | 24 + > .../packagefiles/itertools-0.11-rs/meson.build | 30 ++ > .../packagefiles/proc-macro-error-1-rs/meson.build | 40 ++ > .../proc-macro-error-attr-1-rs/meson.build | 32 ++ > .../packagefiles/proc-macro2-1-rs/meson.build | 31 ++ > subprojects/packagefiles/quote-1-rs/meson.build | 29 + > subprojects/packagefiles/syn-2-rs/meson.build | 40 ++ > .../packagefiles/unicode-ident-1-rs/meson.build | 20 + > subprojects/proc-macro-error-1-rs.wrap | 7 + > subprojects/proc-macro-error-attr-1-rs.wrap | 7 + > subprojects/proc-macro2-1-rs.wrap | 7 + > subprojects/quote-1-rs.wrap | 7 + > subprojects/syn-2-rs.wrap | 7 + > subprojects/unicode-ident-1-rs.wrap | 7 + > subprojects/unicode-ident-1-rs/meson.build | 20 + > .../docker/dockerfiles/fedora-rust-nightly.docker | 173 ++++++ > tests/docker/dockerfiles/opensuse-leap.docker | 2 +- > tests/lcitool/mappings.yml | 2 +- > tests/lcitool/refresh | 26 + > 88 files changed, 3474 insertions(+), 75 deletions(-) > create mode 100644 rust/wrapper.h > delete mode 100644 python/wheels/meson-1.2.3-py3-none-any.whl > create mode 100644 python/wheels/meson-1.5.0-py3-none-any.whl > create mode 100644 rust/.gitignore > create mode 100644 rust/Kconfig > create mode 100644 rust/hw/Kconfig > create mode 100644 rust/hw/char/Kconfig > create mode 100644 rust/hw/char/meson.build > create mode 100644 rust/hw/char/pl011/.gitignore > create mode 100644 rust/hw/char/pl011/Cargo.lock > create mode 100644 rust/hw/char/pl011/Cargo.toml > create mode 100644 rust/hw/char/pl011/README.md > create mode 100644 rust/hw/char/pl011/meson.build > create mode 100644 rust/hw/char/pl011/src/device.rs > create mode 100644 rust/hw/char/pl011/src/device_class.rs > create mode 100644 rust/hw/char/pl011/src/lib.rs > create mode 100644 rust/hw/char/pl011/src/memory_ops.rs > create mode 100644 rust/hw/meson.build > create mode 100644 rust/meson.build > create mode 100644 rust/qemu-api-macros/Cargo.lock > create mode 100644 rust/qemu-api-macros/Cargo.toml > create mode 100644 rust/qemu-api-macros/README.md > create mode 100644 rust/qemu-api-macros/meson.build > create mode 100644 rust/qemu-api-macros/src/lib.rs > create mode 100644 rust/qemu-api/.gitignore > create mode 100644 rust/qemu-api/Cargo.lock > create mode 100644 rust/qemu-api/Cargo.toml > create mode 100644 rust/qemu-api/README.md > create mode 100644 rust/qemu-api/build.rs > create mode 100644 rust/qemu-api/meson.build > create mode 100644 rust/qemu-api/src/definitions.rs > create mode 100644 rust/qemu-api/src/device_class.rs > create mode 100644 rust/qemu-api/src/lib.rs > create mode 100644 rust/qemu-api/src/tests.rs > create mode 100644 rust/rustfmt.toml > create mode 100755 scripts/rust/rust_root_crate.sh > create mode 100644 scripts/rust/rustc_args.py > create mode 100644 subprojects/arbitrary-int-1-rs.wrap > create mode 100644 subprojects/bilge-0.2-rs.wrap > create mode 100644 subprojects/bilge-impl-0.2-rs.wrap > create mode 100644 subprojects/either-1-rs.wrap > create mode 100644 subprojects/itertools-0.11-rs.wrap > create mode 100644 subprojects/packagefiles/arbitrary-int-1-rs/meson.build > create mode 100644 subprojects/packagefiles/bilge-0.2-rs/meson.build > create mode 100644 subprojects/packagefiles/bilge-impl-0.2-rs/meson.build > create mode 100644 subprojects/packagefiles/either-1-rs/meson.build > create mode 100644 subprojects/packagefiles/itertools-0.11-rs/meson.build > create mode 100644 > subprojects/packagefiles/proc-macro-error-1-rs/meson.build > create mode 100644 > subprojects/packagefiles/proc-macro-error-attr-1-rs/meson.build > create mode 100644 subprojects/packagefiles/proc-macro2-1-rs/meson.build > create mode 100644 subprojects/packagefiles/quote-1-rs/meson.build > create mode 100644 subprojects/packagefiles/syn-2-rs/meson.build > create mode 100644 subprojects/packagefiles/unicode-ident-1-rs/meson.build > create mode 100644 subprojects/proc-macro-error-1-rs.wrap > create mode 100644 subprojects/proc-macro-error-attr-1-rs.wrap > create mode 100644 subprojects/proc-macro2-1-rs.wrap > create mode 100644 subprojects/quote-1-rs.wrap > create mode 100644 subprojects/syn-2-rs.wrap > create mode 100644 subprojects/unicode-ident-1-rs.wrap > create mode 100644 subprojects/unicode-ident-1-rs/meson.build > create mode 100644 tests/docker/dockerfiles/fedora-rust-nightly.docker > -- > 2.46.2 > > > -- Marc-André Lureau
© 2016 - 2024 Red Hat, Inc.