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>