[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(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org