The Win32 platform will fail to link if you use weak symbols because it is incompatible with exporting symbols in a DLL: Cannot export virRandomGenerateWWN: symbol wrong type (2 vs 3) We only need weak symbols for our test suite to do LD_PRELOAD and this doesn't work on Win32, so we can just drop the hack for Win32 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> --- Pushed as a build fix for Win32 src/internal.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/internal.h b/src/internal.h index 00edd4f..edc3587 100644 --- a/src/internal.h +++ b/src/internal.h @@ -128,10 +128,14 @@ * */ # ifndef ATTRIBUTE_MOCKABLE -# if __GNUC_PREREQ(4, 5) -# define ATTRIBUTE_MOCKABLE __attribute__((__noinline__, __noclone__, __weak__)) +# if defined(WIN32) +# define ATTRIBUTE_MOCKABLE # else -# define ATTRIBUTE_MOCKABLE __attribute__((__noinline__, __weak__)) +# if __GNUC_PREREQ(4, 5) +# define ATTRIBUTE_MOCKABLE __attribute__((__noinline__, __noclone__, __weak__)) +# else +# define ATTRIBUTE_MOCKABLE __attribute__((__noinline__, __weak__)) +# endif # endif # endif -- 2.9.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list