Subject: Re: [PATCH iproute2] iproute2: Fix undeclared __kernel_long_t type build error in RHEL 6.8

From: Leon Romanovsky <[email-masked]>
Date: Sat, 2 Dec 2017 10:28:33 +0200

On Fri, Dec 01, 2017 at 08:48:07AM -0800, Stephen Hemminger wrote:
> On Fri,  1 Dec 2017 13:04:51 +0200
> Leon Romanovsky <[email-masked]> wrote:
>
> > From: Leon Romanovsky <[email-masked]>
> >
> > Add asm/posix_types.h header file to the list of needed includes,
> > because the headers files in RHEL 6.8 are too old and doesn't
> > have declaration of __kernel_long_t.
> >
> > In file included from ../include/uapi/linux/kernel.h:5,
> >                  from ../include/uapi/linux/netfilter/x_tables.h:4,
> >                  from ../include/xtables.h:20,
> >                  from em_ipset.c:26:
> > ../include/uapi/linux/sysinfo.h:9: error: expected specifier-qualifier-list before ‘__kernel_long_t’
> >
> > Cc: Riad Abo Raed <[email-masked]>
> > Cc: Guy Ergas <[email-masked]>
> > Signed-off-by: Leon Romanovsky <[email-masked]>
>
> I see the problem, but the solution of dragging in posix_types.h
> would be too much of a long term maintenance issue.
> All the headers in uapi are regularly generated from upstream
> kernel headers; I don't want to start making exceptions.
>
> Is it just the xtables stuff (which has always been problematic)?

Yes, both failures are related to xtables. And this wass my naive approach to
solve first one, the second mentioned in the original commit log
(missing xtables-version.h) is more harder to fix.

Will it work if I test in configure script the existence of __kernel_long_t
and fallback to xt-internal.h?

Thanks