On Wed, Mar 22, 2017 at 3:21 PM, Peter Maydell <peter.mayd...@linaro.org> wrote:
> On 22 March 2017 at 13:09, Sameeh Jubran <sam...@daynix.com> wrote: > > Attempting to compile qemu-ga statically as follows for Windows causes > > the following error: > > > > Compilation: > > ./configure --disable-docs --target-list=x86_64-softmmu \ > > --cross-prefix=x86_64-w64-mingw32- --static \ > > --enable-guest-agent-msi --with-vss-sdk=/path/to/VSSSDK72 > > > > make -j8 qemu-ga > > > > Error: > > path/to/qemu/stubs/error-printf.c:7: undefined reference to > `__imp_g_test_config_vars' > > collect2: error: ld returned 1 exit status > > Makefile:444: recipe for target 'qemu-ga.exe' failed > > make: *** [qemu-ga.exe] Error 1 > > > > This is caused by a bug in the pkg-config file for glib as it doesn't > define > > GLIB_STATIC_COMPILATION for pkg-config --static. > > > > Signed-off-by: Stefan Hajnoczi <stefa...@gmail.com> > > Signed-off-by: Sameeh Jubran <sam...@daynix.com> > > @@ -4138,7 +4138,7 @@ int main(void) { return VSS_CTX_BACKUP; } > > EOF > > if compile_prog "$vss_win32_include" "" ; then > > guest_agent_with_vss="yes" > > - QEMU_CFLAGS="$QEMU_CFLAGS $vss_win32_include" > > + QEMU_CFLAGS="-DGLIB_STATIC_COMPILATION $QEMU_CFLAGS > $vss_win32_include" > > libs_qga="-lole32 -loleaut32 -lshlwapi -lstdc++ > -Wl,--enable-stdcall-fixup $libs_qga" > > qga_vss_provider="qga/vss-win32/qga-vss.dll > qga/vss-win32/qga-vss.tlb" > > else > > If we need this for static glib compilation we should > be adding it where we do the "test for glib and > add glib related flags to the CFLAGS", not in the > part of configure where we decide that we're > compiling the guest agent. > > Also, please can we have a comment that clearly states > why we need this and that we're working around a > packaging bug in glib for Windows, please? > sure, no problem. > > thanks > -- PMM > -- Respectfully, *Sameeh Jubran* *Linkedin <https://il.linkedin.com/pub/sameeh-jubran/87/747/a8a>* *Software Engineer @ Daynix <http://www.daynix.com>.*