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

From: Sam Ravnborg
Date: Thu Jan 22 2009 - 12:57:31 EST


On Thu, Jan 22, 2009 at 12:45:13PM +0000, Andrew Walrond wrote:
> Breaks kbd like this:
>
> /usr/include/linux/serial.h:164: error: expected
> specifier-qualifier-list before '__u32'

This is know and fixed. The fix is to include linux/types.h
in serial.h.

>
> and net-tools like this:
>
> In file included from /usr/include/linux/if_tunnel.h:5,
> from iptunnel.c:39:
> /usr/include/linux/ip.h:85: error: redefinition of 'struct iphdr'
>
> Both build fine with 2.6.27.10 headers.

Herbert added an include of ip.h in commit:

commit c19e654ddbe3831252f61e76a74d661e1a755530
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu Oct 9 11:59:55 2008 -0700

gre: Add netlink interface

This patch adds a netlink interface that will eventually displace
the existing ioctl interface. It utilises the elegant rtnl_link_ops
mechanism.

This causes struct iphdr to be redefined.
But there is noting wrong in including ip.h in if_tunnel.h.

I checked the include guards and they are correct.

Could you please investige where it picks up the first definition
of struct iphdr.

> Hope that's useful.

Anything that can improve the exported user headers are useful - thanks.

Sam
--
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/