From db01d85f168b19a48e5112cb02cda37014719c3e Mon Sep 17 00:00:00 2001 From: Fabiano Rosas Date: Thu, 25 May 2023 18:20:44 -0300 Subject: meson: Add static glib dependency for initrd-stress.img We recently moved glib detection code to meson but this changes the linker command line from -lglib-2.0 to using a path to libglib-2.0.so. This does not work for static linking, which is used by stress.c: $ make V=1 tests/migration/initrd-stress.img cc -m64 -mcx16 -o tests/migration/stress ... -static -Wl,--start-group /usr/lib64/libglib-2.0.so -Wl,--end-group ... bin/ld: attempted static link of dynamic object `/usr/lib64/libglib-2.0.so' Add a specific dependency for stress.c, which is linked statically. The compiler command line is now: cc -m64 -mcx16 -o tests/migration/stress ... -static -pthread -Wl,--start-group -lm /usr/lib64/libpcre.a -lglib-2.0 -Wl,--end-group Fixes: fc9a809e0d ("build: move glib detection and workarounds to meson") Signed-off-by: Fabiano Rosas Message-Id: <20230525212044.30222-3-farosas@suse.de> Signed-off-by: Paolo Bonzini --- tests/migration/meson.build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'tests/migration') diff --git a/tests/migration/meson.build b/tests/migration/meson.build index dd562355a1..ac71f13290 100644 --- a/tests/migration/meson.build +++ b/tests/migration/meson.build @@ -1,9 +1,11 @@ sysprof = dependency('sysprof-capture-4', required: false) +glib_static = dependency('glib-2.0', version: glib_req_ver, required: false, + method: 'pkg-config', static: true) stress = executable( 'stress', files('stress.c'), - dependencies: [glib, sysprof], + dependencies: [glib_static, sysprof], link_args: ['-static'], build_by_default: false, ) -- cgit v1.2.3