Qemu 9.2: stubs: build issue with --enable-user --disable-system --enable-tools
Host environment
- Build system: Buildroot
- QEMU version: 9.2
Description of problem
Since commit "stubs: avoid duplicate symbols in libqemuutil.a", Qemu doesn't build with:
./configure --enable-user --disable-system --enable-tools
/usr/bin/ld: libhwcore.a.p/hw_core_qdev.c.o: in function 'device_finalize':
/home/autobuild/autobuild/instance-2/output-1/build/host-qemu-9.2.0/build/../hw/core/qdev.c:689:(.text+0x75c): undefined reference to 'qapi_event_send_device_deleted'
collect2: error: ld returned 1 exit status
See Buildroot automated build results: http://autobuild.buildroot.org/?reason=host-qemu-9.2.0
Indeed, with have_system = false and have_tools = true, Qemu needs the stubs for QAPI events added by stub_ss.add(files('qdev.c')) to provide qapi_event_send_device_deleted.
Maybe the change in stubs/meson.build should have been: \
if not have_system and have_tools
stub_ss.add(files('qdev.c'))
endif
Best regards, Romain