[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCHv3] build: more workarounds for if_bridge.h



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 redhat com>
> ---
> 
> 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 :|


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]