libnl build failure on some distros

Cong Wang xiyou.wangcong at gmail.com
Fri Jun 27 11:42:35 PDT 2014


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.


Thanks!



More information about the libnl mailing list