Re: 2.6.28 headers break kbd and net-tools userspace builds

From: Andrew Walrond
Date: Mon Feb 02 2009 - 05:35:53 EST


Hey guys. A gentle nudge...

My distro scripts build the

glibc
iproute2
iputils
kbd
lm_sensors
net-tools
strace

packages and others against every new release of linux and linux-stable, (hence my initial report).
Right now I'm stalled at the 2.6.27.? headers so can't do any more testing until this is resolved.

Andrew Walrond

Jan Engelhardt wrote:
On Wednesday 2009-01-28 21:29, David Miller wrote:
On Tuesday 2009-01-27 06:08, David Miller wrote:
The fly in the ointment is linux/if_tunnel.h

We export a structure there for a userland interface which
uses "struct iphdr".

Because of that, we are faced with the difficult choice between
defining the structure (as we do) in linux/ip.h or using some ugly
__KERNEL__ ifdefs in linux/if_tunnel.h to conditionally include
netinet/ip.h instead. :-/

Really, I have no idea what to do about this as the problem has
existed for so long.
I think in the long term, exported structs should probably
have a "kernel_" prefix, much like userspace libraries use
such prefixes to (try to) guard against simple name clashes.
This is a reasonable rule for future interfaces, but won't
help us here on this one.[...]
Really, we page a huge price these days because the relationship
between glibc's and the kernel's userland header exports in the
past has been anti-social at best.

Yeah I just had to notice >:-(

IPPROTO_MH is only defined in linux/in6.h, but inclusion of it:

/usr/include/linux/in6.h:31: error: redefinition of âstruct in6_addrâ
/usr/include/linux/in6.h:52: error: redefinition of âstruct sockaddr_in6â
/usr/include/linux/in6.h:60: error: redefinition of âstruct ipv6_mreqâ

Ick. That's even worse than tunnels.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/