On Wed, Aug 07, 2013 at 05:10:26PM -0600, Eric Blake wrote: > This is a second attempt at fixing the problem first attempted > in commit 2df8d99; basically undoing the fact that it was > reverted in commit 43cee32f, plus fixing two more issues: the > code in configure.ac has to EXACTLY match virnetdevbridge.c > with regards to declaring in6 types before using if_bridge.h, > and the fact that RHEL 5 has even more conflicts: > > In file included from util/virnetdevbridge.c:49: > /usr/include/linux/in6.h:47: error: conflicting types for 'in6addr_any' > /usr/include/netinet/in.h:206: error: previous declaration of 'in6addr_any' was here > /usr/include/linux/in6.h:49: error: conflicting types for 'in6addr_loopback' > /usr/include/netinet/in.h:207: error: previous declaration of 'in6addr_loopback' was here > > The rest of this commit message borrows from the original try > of 2df8d99: > > A fresh checkout on a RHEL 6 machine with these packages: > kernel-headers-2.6.32-405.el6.x86_64 > glibc-2.12-1.128.el6.x86_64 > failed to configure with this message: > checking for linux/if_bridge.h... no > configure: error: You must install kernel-headers in order to compile libvirt with QEMU or LXC support > > Digging in config.log, we see that the problem is identical to > what we fixed earlier in commit d12c2811: > > configure:98831: checking for linux/if_bridge.h > configure:98853: gcc -std=gnu99 -c -g -O2 conftest.c >&5 > In file included from /usr/include/linux/if_bridge.h:17, > from conftest.c:559: > /usr/include/linux/in6.h:31: error: redefinition of 'struct in6_addr' > /usr/include/linux/in6.h:48: error: redefinition of 'struct sockaddr_in6' > /usr/include/linux/in6.h:56: error: redefinition of 'struct ipv6_mreq' > configure:98860: $? = 1 > > I had not hit it earlier because I was using incremental builds, > where config.cache had shielded me from the kernel-headers breakage. > > * configure.ac (if_bridge.h): Avoid conflicting type definitions. > * src/util/virnetdevbridge.c (includes): Also sanitize for RHEL 5. > > Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> > --- > > Good thing I'm waiting for a review - that waiting time was enough > for me to test on RHEL 5 and find another issue. > v3: also work around RHEL 5 - yet ANOTHER symptom of broken if_bridge.h > > configure.ac | 12 +++++++++++- > src/util/virnetdevbridge.c | 4 ++++ > 2 files changed, 15 insertions(+), 1 deletion(-) ACK, verified on F19. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list