Skip to content

Regression 9.1.0-rc0: Msys2/Clang64 build fails

Host environment

  • Operating system: Windows 10 22H2

  • OS/kernel version: MINGW64_NT-10.0-19045 DESKTOP-6MOKBL6 3.5.3-d8b21b8c.x86_64 2024-07-09 18:03 UTC x86_64 Msys

  • Architecture: x86_64

  • QEMU flavor: qemu-system-aarch64

  • QEMU version: 9.1.0-rc0

  • QEMU command line:

    ./configure --target-list=aarch64-softmmu --disable-plugins ; make

Emulated/Virtualized environment

  • Operating system: n/a
  • OS/kernel version: n/a
  • Architecture: n/a

Description of problem

Building QEMU in Msys2/Clang64 environment now fails. It is possible with 8.2.0 and 9.0.0 if option "--disable-plugins" is used.

I suppose this option is broken now:

[2207/2362] Linking target qemu-system-aarch64.exe
FAILED: qemu-system-aarch64.exe 
"cc" "-m64" @qemu-system-aarch64.exe.rsp
lld: error: unknown argument: --dynamic-list=D:/msys64plain/home/Normalo/qemu-9.1.0-rc0/plugins/qemu-plugins.symbols


cc: error: linker command failed with exit code 1 (use -v to see invocation)


ninja: build stopped: subcommand failed.
make[1]: *** [Makefile:167: run-ninja] Error 1
make[1]: Leaving directory '/home/Normalo/qemu-9.1.0-rc0/build'
make: *** [GNUmakefile:6: build] Error 2

Steps to reproduce

  1. tar -xf qemu-9.1.0-rc0.tar.xz
  2. cd qemu-9.1.0-rc0
  3. ./configure --target-list=aarch64-softmmu --disable-plugins
  4. make

Additional information

See attached log files configure.log and build.log

After reverting the last commit on plugins/meson.build the build succeeds, because here the parameter causing the failure (--dynamic-list) is only applied, if plugins are enabled.

commit 0082475e26430297ef65e598db5b67c8ac182620
Author: Paolo Bonzini <pbonzini@redhat.com>
Date:   Thu Jun 6 15:07:23 2024 +0200

    meson: merge plugin_ldflags into emulator_link_args
    
    These serve the same purpose, except plugin_ldflags ends up in the linker
    command line in a more roundabout way (through specific_ss).  Simplify.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Configuring with plugins enabled fails with:

../plugins/meson.build:28:32: ERROR: Command `D:\msys64plain\clang64\bin/dlltool.EXE --input-def D:/msys64plain/home/Normalo/qemu-9.1.0-rc0/build/plugins/qemu_plugin_api.def --output-delaylib D:/msys64plain/home/Normalo/qemu-9.1.0-rc0/build/plugins/libqemu_plugin_api.a --dllname qemu.exe` failed with status 1.

A full log can be found at D:/msys64plain/home/Normalo/qemu-9.1.0-rc0/build/meson-logs/meson-log.txt

ERROR: meson setup failed

See attached log files configure-plugins-enabled.log and meson-log-plugins-enabled.txt

Edited by Helge Konetzka
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information