After the rework of mocking of our tests there's the virportallocator test failing to link on mingw. Well, it's the mocking library actually: ../gnulib/lib/.libs/libgnu.a(bind.o): In function `rpl_bind': /home/jenkins/libvirt-mingw/build32/gnulib/lib/../../../gnulib/lib/bind.c:33: multiple definition of `rpl_bind' .libs/virportallocatormock_la-virportallocatormock.o:/home/jenkins/libvirt-mingw/build32/tests/../../tests/virportallocatormock.c:79: first defined here I've no idea why this matters to mingw and does not to others. Nevertheless, if we make the test linux only the problem goes away. Apparently, our test for RTLD_NEXT is not sufficient because mingw32 defines it. Lets put aside for a while fact that it has the same value as RTLD_DEFAULT which by description has different meaning, shall we? Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- tests/virportallocatormock.c | 6 ++++-- tests/virportallocatortest.c | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/virportallocatormock.c b/tests/virportallocatormock.c index e44191e..fa6e75b 100644 --- a/tests/virportallocatormock.c +++ b/tests/virportallocatormock.c @@ -25,7 +25,7 @@ # include <dlfcn.h> #endif -#if defined(RTLD_NEXT) +#if defined(__linux__) && defined(RTLD_NEXT) # include "internal.h" # include <sys/socket.h> # include <errno.h> @@ -105,4 +105,6 @@ int bind(int sockfd ATTRIBUTE_UNUSED, return 0; } -#endif /* ! defined(RTLD_NEXT) */ +#else /* defined(__linux__) && defined(RTLD_NEXT) */ +/* Nothing to override on other platforms. */ +#endif diff --git a/tests/virportallocatortest.c b/tests/virportallocatortest.c index 1a5d759..4574215 100644 --- a/tests/virportallocatortest.c +++ b/tests/virportallocatortest.c @@ -27,7 +27,8 @@ # include <dlfcn.h> #endif -#if defined(RTLD_NEXT) +#if defined(__linux__) && defined(RTLD_NEXT) + # include "virutil.h" # include "virerror.h" # include "viralloc.h" @@ -174,7 +175,7 @@ mymain(void) } VIRT_TEST_MAIN_PRELOAD(mymain, abs_builddir "/.libs/virportallocatormock.so") -#else /* ! defined(RTLD_NEXT) */ +#else /* defined(__linux__) && defined(RTLD_NEXT) */ int main(void) { -- 2.4.10 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list