Re: [PATCH] Fix build on fedora-14 (and other older systems)
On 09/03/2017 08:50 AM, Stephen Hemminger wrote: On Sat, 2 Sep 2017 07:15:02 -0700 gree...@candelatech.com wrote: diff --git a/include/linux/sysinfo.h b/include/linux/sysinfo.h index 934335a..3596b02 100644 --- a/include/linux/sysinfo.h +++ b/include/linux/sysinfo.h @@ -3,6 +3,14 @@ #include +/* So we can compile on older OSs, hopefully this is correct. --Ben */ +#ifndef __kernel_long_t +typedef long __kernel_long_t; +#endif +#ifndef __kernel_ulong_t +typedef unsigned long __kernel_ulong_t; +#endif + #define SI_LOAD_SHIFT 16 struct sysinfo { __kernel_long_t uptime; /* Seconds since boot */ I am not accepting this patch because all files in include/linux are automatically regenerated from kernel 'make install_headers'. No exceptions. If you want to change a header in include/linux it has to go through upstream kernel inclusion. It would be wrong to add this to the actual kernel header I think. Do you have another suggestion for fixing iproute2 compile? Thanks, Ben -- Ben GreearCandela Technologies Inc http://www.candelatech.com
Re: [PATCH] Fix build on fedora-14 (and other older systems)
On Sat, 2 Sep 2017 07:15:02 -0700 gree...@candelatech.com wrote: > diff --git a/include/linux/sysinfo.h b/include/linux/sysinfo.h > index 934335a..3596b02 100644 > --- a/include/linux/sysinfo.h > +++ b/include/linux/sysinfo.h > @@ -3,6 +3,14 @@ > > #include > > +/* So we can compile on older OSs, hopefully this is correct. --Ben */ > +#ifndef __kernel_long_t > +typedef long __kernel_long_t; > +#endif > +#ifndef __kernel_ulong_t > +typedef unsigned long __kernel_ulong_t; > +#endif > + > #define SI_LOAD_SHIFT16 > struct sysinfo { > __kernel_long_t uptime; /* Seconds since boot */ I am not accepting this patch because all files in include/linux are automatically regenerated from kernel 'make install_headers'. No exceptions. If you want to change a header in include/linux it has to go through upstream kernel inclusion.
Re: [PATCH] Fix build on fedora-14 (and other older systems)
On Sat, Sep 02, 2017 at 07:15:02AM -0700, gree...@candelatech.com wrote: > From: Ben Greear> > Seems Fedora-20 and below fail, hopefully this fixes > them. > > Signed-off-by: Ben Greear > --- > include/linux/sysinfo.h | 8 > ip/ipxfrm.c | 1 + > ip/xfrm_policy.c| 1 + > ip/xfrm_state.c | 1 + > 4 files changed, 11 insertions(+) Works for me from openSUSE Tumbleweed to SLE11 SP4 (kernel 3.0). The build on SLE11 SP2 (also 3.0 but older headers in /usr/include) fails with unknown MS_PRIVATE and MS_REC in lib/bpf.c Newer systems have these defined in Including directly in lib/bpf.c fixes that but if we do that, a copy of the file would have to be included. > diff --git a/include/linux/sysinfo.h b/include/linux/sysinfo.h > index 934335a..3596b02 100644 > --- a/include/linux/sysinfo.h > +++ b/include/linux/sysinfo.h > @@ -3,6 +3,14 @@ > > #include > > +/* So we can compile on older OSs, hopefully this is correct. --Ben */ > +#ifndef __kernel_long_t > +typedef long __kernel_long_t; > +#endif > +#ifndef __kernel_ulong_t > +typedef unsigned long __kernel_ulong_t; > +#endif > + > #define SI_LOAD_SHIFT16 > struct sysinfo { > __kernel_long_t uptime; /* Seconds since boot */ I'm not sure if it is acceptable to modify a file which is supposed to be a direct copy of kernel uapi header. Michal Kubecek
[PATCH] Fix build on fedora-14 (and other older systems)
From: Ben GreearSeems Fedora-20 and below fail, hopefully this fixes them. Signed-off-by: Ben Greear --- include/linux/sysinfo.h | 8 ip/ipxfrm.c | 1 + ip/xfrm_policy.c| 1 + ip/xfrm_state.c | 1 + 4 files changed, 11 insertions(+) diff --git a/include/linux/sysinfo.h b/include/linux/sysinfo.h index 934335a..3596b02 100644 --- a/include/linux/sysinfo.h +++ b/include/linux/sysinfo.h @@ -3,6 +3,14 @@ #include +/* So we can compile on older OSs, hopefully this is correct. --Ben */ +#ifndef __kernel_long_t +typedef long __kernel_long_t; +#endif +#ifndef __kernel_ulong_t +typedef unsigned long __kernel_ulong_t; +#endif + #define SI_LOAD_SHIFT 16 struct sysinfo { __kernel_long_t uptime; /* Seconds since boot */ diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c index 12c2f72..492a6af 100644 --- a/ip/ipxfrm.c +++ b/ip/ipxfrm.c @@ -38,6 +38,7 @@ #include "utils.h" #include "xfrm.h" #include "ip_common.h" +#include "xtables.h" #define STRBUF_SIZE(128) diff --git a/ip/xfrm_policy.c b/ip/xfrm_policy.c index de689c4..0f957c1 100644 --- a/ip/xfrm_policy.c +++ b/ip/xfrm_policy.c @@ -32,6 +32,7 @@ #include "utils.h" #include "xfrm.h" #include "ip_common.h" +#include "xtables.h" /* #define NLMSG_DELETEALL_BUF_SIZE (4096-512) */ #define NLMSG_DELETEALL_BUF_SIZE 8192 diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c index 4483fb8..5a6a895 100644 --- a/ip/xfrm_state.c +++ b/ip/xfrm_state.c @@ -31,6 +31,7 @@ #include "utils.h" #include "xfrm.h" #include "ip_common.h" +#include "xtables.h" /* #define NLMSG_DELETEALL_BUF_SIZE (4096-512) */ #define NLMSG_DELETEALL_BUF_SIZE 8192 -- 2.4.11