
[replies can omit bug-gnulib] On 09/28/2010 08:29 AM, Eric Blake wrote:
[adding bug-gnulib]
which in turn mentions:
gcc -Wall -Wformat -Wmissing-prototypes -Wnested-externs -Wpointer- arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wp,- D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -g -O2 - o .libs/event-test event_test-event-test.o -L/opt/local/lib ../../../ src/.libs/libvirt.dylib -L/usr/lib /usr/lib/libxml2.dylib -licucore - lm /opt/local/lib/libgnutls.dylib /opt/local/lib/libtasn1.dylib -lz / opt/local/lib/libgcrypt.dylib /opt/local/lib/libgpg-error.dylib - lpthread /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib -lc
Aha - I just realized the problem. The Makefile.am fails to link against the gnulib library that provides rpl_poll, even though the headers are pulling in the replacement definition.
But the failed link mentions rpl_poll, not poll, which means this is most likely a gnulib bug in the poll module. Rather than skipping this test on just 32-bit MacOS in libvirt, I think the better thing to do is address why gnulib is triggering a link failure in the first place.
In testing here, the compilation only fails on 32 bit OS X, but works on 64 bit, even when using exact same compile and linking flags.
That's because poll doesn't need gnulib replacement on the 64-bit OS X, just the 32-bit version. The real fix should be in examples/domain-events/events-c/Makefile.am to fix LDADD to mention libgnu.la. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org