stubs/meson.build | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
Compilation QGA without system and user fails
./configure --disable-system --disable-user --enable-guest-agent
Fixes: 3a15604900c4f433c970cc6294520a98f201287e
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
---
stubs/meson.build | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/stubs/meson.build b/stubs/meson.build
index 8ee1fd5753..3b9d42023c 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -21,12 +21,12 @@ if have_block
stub_ss.add(files('migr-blocker.c'))
stub_ss.add(files('physmem.c'))
stub_ss.add(files('ram-block.c'))
- stub_ss.add(files('replay-tools.c'))
stub_ss.add(files('runstate-check.c'))
stub_ss.add(files('uuid.c'))
endif
if have_block or have_ga
+ stub_ss.add(files('replay-tools.c'))
# stubs for hooks in util/main-loop.c, util/async.c etc.
stub_ss.add(files('cpus-get-virtual-clock.c'))
stub_ss.add(files('icount.c'))
@@ -45,6 +45,10 @@ if have_block or have_ga
stub_ss.add(files('qmp-quit.c'))
endif
+if have_ga
+ stub_ss.add(files('error-printf.c'))
+endif
+
if have_block or have_user
stub_ss.add(files('qtest.c'))
stub_ss.add(files('vm-stop.c'))
--
2.44.0
On 25/4/24 13:04, Konstantin Kostiuk wrote:
> Compilation QGA without system and user fails
> ./configure --disable-system --disable-user --enable-guest-agent
So this config isn't tested on CI.
Maybe worth enabling QGA in the build-tools-and-docs-debian job?
Please include the link failure:
/usr/bin/ld: libqemuutil.a.p/util_main-loop.c.o: in function
`os_host_main_loop_wait':
../util/main-loop.c:303: undefined reference to `replay_mutex_unlock'
/usr/bin/ld: ../util/main-loop.c:307: undefined reference to
`replay_mutex_lock'
/usr/bin/ld: libqemuutil.a.p/util_error-report.c.o: in function
`error_printf':
../util/error-report.c:38: undefined reference to `error_vprintf'
/usr/bin/ld: libqemuutil.a.p/util_error-report.c.o: in function
`vreport':
../util/error-report.c:225: undefined reference to `error_vprintf'
/usr/bin/ld: libqemuutil.a.p/util_qemu-timer.c.o: in function
`timerlist_run_timers':
../util/qemu-timer.c:562: undefined reference to `replay_checkpoint'
/usr/bin/ld: ../util/qemu-timer.c:530: undefined reference to
`replay_checkpoint'
/usr/bin/ld: ../util/qemu-timer.c:525: undefined reference to
`replay_checkpoint'
ninja: build stopped: subcommand failed.
> Fixes: 3a15604900c4f433c970cc6294520a98f201287e
Fixes: 3a15604900 ("stubs: include stubs only if needed")
> Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
> ---
> stubs/meson.build | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/stubs/meson.build b/stubs/meson.build
> index 8ee1fd5753..3b9d42023c 100644
> --- a/stubs/meson.build
> +++ b/stubs/meson.build
> @@ -21,12 +21,12 @@ if have_block
> stub_ss.add(files('migr-blocker.c'))
> stub_ss.add(files('physmem.c'))
> stub_ss.add(files('ram-block.c'))
> - stub_ss.add(files('replay-tools.c'))
> stub_ss.add(files('runstate-check.c'))
> stub_ss.add(files('uuid.c'))
> endif
>
> if have_block or have_ga
> + stub_ss.add(files('replay-tools.c'))
> # stubs for hooks in util/main-loop.c, util/async.c etc.
> stub_ss.add(files('cpus-get-virtual-clock.c'))
> stub_ss.add(files('icount.c'))
> @@ -45,6 +45,10 @@ if have_block or have_ga
> stub_ss.add(files('qmp-quit.c'))
> endif
>
> +if have_ga
> + stub_ss.add(files('error-printf.c'))
So now included twice, not a big deal.
> +endif
> +
> if have_block or have_user
> stub_ss.add(files('qtest.c'))
> stub_ss.add(files('vm-stop.c'))
# more symbols provided by the monitor
stub_ss.add(files('error-printf.c'))
endif
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
With updated description:
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
On Fri, Apr 26, 2024 at 2:08 PM Philippe Mathieu-Daudé <philmd@linaro.org>
wrote:
> On 25/4/24 13:04, Konstantin Kostiuk wrote:
> > Compilation QGA without system and user fails
> > ./configure --disable-system --disable-user --enable-guest-agent
>
> So this config isn't tested on CI.
>
> Maybe worth enabling QGA in the build-tools-and-docs-debian job?
>
I am not sure that this is very often use case. I used it only during qga
cross-compilation for Windows to speed up build.
>
>
> Please include the link failure:
>
> /usr/bin/ld: libqemuutil.a.p/util_main-loop.c.o: in function
> `os_host_main_loop_wait':
> ../util/main-loop.c:303: undefined reference to `replay_mutex_unlock'
> /usr/bin/ld: ../util/main-loop.c:307: undefined reference to
> `replay_mutex_lock'
> /usr/bin/ld: libqemuutil.a.p/util_error-report.c.o: in function
> `error_printf':
> ../util/error-report.c:38: undefined reference to `error_vprintf'
> /usr/bin/ld: libqemuutil.a.p/util_error-report.c.o: in function
> `vreport':
> ../util/error-report.c:225: undefined reference to `error_vprintf'
> /usr/bin/ld: libqemuutil.a.p/util_qemu-timer.c.o: in function
> `timerlist_run_timers':
> ../util/qemu-timer.c:562: undefined reference to `replay_checkpoint'
> /usr/bin/ld: ../util/qemu-timer.c:530: undefined reference to
> `replay_checkpoint'
> /usr/bin/ld: ../util/qemu-timer.c:525: undefined reference to
> `replay_checkpoint'
> ninja: build stopped: subcommand failed.
>
> > Fixes: 3a15604900c4f433c970cc6294520a98f201287e
>
> Fixes: 3a15604900 ("stubs: include stubs only if needed")
>
> > Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
> > ---
> > stubs/meson.build | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/stubs/meson.build b/stubs/meson.build
> > index 8ee1fd5753..3b9d42023c 100644
> > --- a/stubs/meson.build
> > +++ b/stubs/meson.build
> > @@ -21,12 +21,12 @@ if have_block
> > stub_ss.add(files('migr-blocker.c'))
> > stub_ss.add(files('physmem.c'))
> > stub_ss.add(files('ram-block.c'))
> > - stub_ss.add(files('replay-tools.c'))
> > stub_ss.add(files('runstate-check.c'))
> > stub_ss.add(files('uuid.c'))
> > endif
> >
> > if have_block or have_ga
> > + stub_ss.add(files('replay-tools.c'))
> > # stubs for hooks in util/main-loop.c, util/async.c etc.
> > stub_ss.add(files('cpus-get-virtual-clock.c'))
> > stub_ss.add(files('icount.c'))
> > @@ -45,6 +45,10 @@ if have_block or have_ga
> > stub_ss.add(files('qmp-quit.c'))
> > endif
> >
> > +if have_ga
> > + stub_ss.add(files('error-printf.c'))
>
> So now included twice, not a big deal.
>
we can fix this only with more if
split `if have_block or have_user` into 2 blocks
should I do this?
>
> > +endif
> > +
> > if have_block or have_user
> > stub_ss.add(files('qtest.c'))
> > stub_ss.add(files('vm-stop.c'))
>
> # more symbols provided by the monitor
> stub_ss.add(files('error-printf.c'))
> endif
>
> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>
> With updated description:
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>
>
© 2016 - 2026 Red Hat, Inc.