Message ID | 20240425110414.36977-1-kkostiuk@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | stubs: Add missing qga stubs | expand |
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> > >
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'))
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(-)