libnl build failure on some distros

Thomas Graf tgraf at suug.ch
Sat Jun 28 00:49:42 PDT 2014


On 06/27/14 at 11:42am, Cong Wang wrote:
> Hi, Susant
> 
> 
> Recently you added ipv6 tunnel support to libnl3,
> 
> commit 11f9cc0914aef697c1f49bca7353117cb65fd318
> Author: Susant Sahani <susant at redhat.com>
> Date:   Sat May 10 10:18:12 2014 +0530
> 
>     ip6tnl: introduce ip6 tunnel support
> 
> Unfortunately this introduced some build failure on some old (compare
> with Fedora 20) distros, something like:
> 
> In file included from route/link/ip6tnl.c:33:
> /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’
> 
> But I do not think this is your fault, it's actually a glibc bug, it
> should avoid the conflict with kernel headers. In upstream this was
> fixed by:
> 
> https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=6c82a2f8d7c8e21e39237225c819f182ae438db3;hp=5430fc65a118300b35a834a1112caea3441ff12e
> 
> On my Fedora 19, it fixes this in a different way, this is probably
> why I didn't see this compile error locally.
> 
> So, I am wondering if it's possible to workaround this on libnl side,
> for example, disabling ipv6 tunnel during configure. We try to deploy
> 3.2.25 release once you cut it, but this clearly blocks us.

We can include <netinet/in.h>, seems to be sufficient.



More information about the libnl mailing list