stubs/meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Configuring "--enable-user --disable-system --enable-tools" causes the
build failure with the following information:
/usr/bin/ld: libhwcore.a.p/hw_core_qdev.c.o: in function `device_finalize':
/qemu/build/../hw/core/qdev.c:688: undefined reference to `qapi_event_send_device_deleted'
collect2: error: ld returned 1 exit status
To fix the above issue, add qdev.c stub when build with `have_tools`.
With this fix, QEMU could be successfully built in the following cases:
--enable-user --disable-system --enable-tools
--enable-user --disable-system --disable-tools
--enable-user --disable-system
Cc: qemu-stable@nongnu.org
Fixes: 388b849fb6c3 ("stubs: avoid duplicate symbols in libqemuutil.a")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2766
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
stubs/meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/stubs/meson.build b/stubs/meson.build
index e91614a874dc..a8b3aeb56450 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -57,8 +57,8 @@ if have_user
stub_ss.add(files('cpu-synchronize-state.c'))
# Stubs for QAPI events. Those can always be included in the build, but
- # they are not built at all for --disable-system --disable-tools builds.
- if not (have_system or have_tools)
+ # they are not built at all for --disable-system builds.
+ if not have_system
stub_ss.add(files('qdev.c'))
endif
endif
--
2.34.1
On 1/21/25 16:43, Zhao Liu wrote: > Configuring "--enable-user --disable-system --enable-tools" causes the > build failure with the following information: > > /usr/bin/ld: libhwcore.a.p/hw_core_qdev.c.o: in function `device_finalize': > /qemu/build/../hw/core/qdev.c:688: undefined reference to `qapi_event_send_device_deleted' > collect2: error: ld returned 1 exit status > > To fix the above issue, add qdev.c stub when build with `have_tools`. > > With this fix, QEMU could be successfully built in the following cases: > --enable-user --disable-system --enable-tools > --enable-user --disable-system --disable-tools > --enable-user --disable-system > > Cc: qemu-stable@nongnu.org > Fixes: 388b849fb6c3 ("stubs: avoid duplicate symbols in libqemuutil.a") > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2766 > Signed-off-by: Zhao Liu <zhao1.liu@intel.com> > --- > stubs/meson.build | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/stubs/meson.build b/stubs/meson.build > index e91614a874dc..a8b3aeb56450 100644 > --- a/stubs/meson.build > +++ b/stubs/meson.build > @@ -57,8 +57,8 @@ if have_user > stub_ss.add(files('cpu-synchronize-state.c')) > > # Stubs for QAPI events. Those can always be included in the build, but > - # they are not built at all for --disable-system --disable-tools builds. > - if not (have_system or have_tools) > + # they are not built at all for --disable-system builds. > + if not have_system > stub_ss.add(files('qdev.c')) > endif Matches if have_system qapi_all_modules += [ 'acpi', 'audio', 'cryptodev', 'qdev', 'pci', 'rocker', 'tpm', ] endif Queued, thanks. Paolo
© 2016 - 2025 Red Hat, Inc.