Re: [ANNOUNCE] ipset 7.8 released

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, I'm having some difficulty compiling ipset 7.9 in kernel 4.14.78 as provided by Variscite for an
arm board


I've trimmed the build log and errors, but it seems to revolve around:

Pre kernel 4.18 the header

    ./include/linux/ipc.h

would include

    ./include/linux/rhashtable.h

(later it includes rhashtable-types.h)

This in turn draws in the jhash.c copy, which in turn includes ip_set_compat.h, which then causes
some errors due to drawing in things where we haven't yet finished reading all the header files

I'm not sure how to work around the compile fail in ipset-7.9? I agree I can't rule it out to be a
problem due to the vendor kernel, but the include tree seems to point clearly to the issue above in
ipc.h



Note: ipset7.7 gives me errors about    

    error: 'fallthrough' undeclared

Which seems fair enough given the age of my kernel. I could probably fix this


ipset 7.6 compiles ok for me.


Any guidance please?

Thanks

Ed W



make[1]: Entering directory '/var/embedded/src/linux-kernel'
  CC [M]  /var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/xt_set.o
  CC [M]  /var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/sched/em_ipset.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_core.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_getport.o
  CC [M]  /var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/pfxlen.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_bitmap_ip.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_bitmap_ipmac.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_bitmap_port.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_ip.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_ipport.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_ipportip.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_ipportnet.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_ipmac.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_ipmark.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_net.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_netport.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_netiface.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_netnet.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_netportnet.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_hash_mac.o
  CC [M] 
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/netfilter/ipset/ip_set_list_set.o
In file included from ./include/linux/netlink.h:9,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/include/linux/netfilter/ipset/ip_set_compat.h:95,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/include/linux/jhash.h:3,
                 from ./include/linux/rhashtable.h:24,
                 from ./include/linux/ipc.h:7,
                 from ./include/uapi/linux/sem.h:5,
                 from ./include/linux/sem.h:9,
                 from ./include/linux/sched.h:15,
                 from ./include/linux/uaccess.h:5,
                 from ./include/net/checksum.h:25,
                 from ./include/linux/skbuff.h:31,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/sched/em_ipset.c:16:
./include/net/scm.h: In function 'scm_send':
./include/net/scm.h:84:21: error: implicit declaration of function 'task_tgid'; did you mean
'task_uid'? [-Werror=implicit-function-declaration]
   84 |   scm_set_cred(scm, task_tgid(current), current_uid(), current_gid());
      |                     ^~~~~~~~~
      |                     task_uid
In file included from ./include/linux/srcu.h:33,
                 from ./include/linux/notifier.h:16,
                 from ./include/linux/memory_hotplug.h:7,
                 from ./include/linux/mmzone.h:782,
                 from ./include/linux/gfp.h:6,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/sched/em_ipset.c:11:
./include/linux/cred.h:276:35: error: dereferencing pointer to incomplete type 'struct task_struct'
  276 |  rcu_dereference_protected(current->cred, 1)
      |                                   ^~
./include/linux/rcupdate.h:358:12: note: in definition of macro '__rcu_dereference_protected'
  358 |  ((typeof(*p) __force __kernel *)(p)); \
      |            ^
./include/linux/cred.h:276:2: note: in expansion of macro 'rcu_dereference_protected'
  276 |  rcu_dereference_protected(current->cred, 1)
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/cred.h:354:2: note: in expansion of macro 'current_cred'
  354 |  current_cred()->xxx;   \
      |  ^~~~~~~~~~~~
./include/linux/cred.h:357:25: note: in expansion of macro 'current_cred_xxx'
  357 | #define current_uid()  (current_cred_xxx(uid))
      |                         ^~~~~~~~~~~~~~~~
./include/net/scm.h:84:41: note: in expansion of macro 'current_uid'
   84 |   scm_set_cred(scm, task_tgid(current), current_uid(), current_gid());
      |                                         ^~~~~~~~~~~
In file included from ./include/linux/netlink.h:9,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/include/linux/netfilter/ipset/ip_set_compat.h:95,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/include/linux/jhash.h:3,
                 from ./include/linux/rhashtable.h:24,
                 from ./include/linux/ipc.h:7,
                 from ./include/uapi/linux/sem.h:5,
                 from ./include/linux/sem.h:9,
                 from ./include/linux/sched.h:15,
                 from ./include/linux/uaccess.h:5,
                 from ./include/net/checksum.h:25,
                 from ./include/linux/skbuff.h:31,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/sched/em_ipset.c:16:
./include/net/scm.h:84:21: warning: passing argument 2 of 'scm_set_cred' makes pointer from integer
without a cast [-Wint-conversion]
   84 |   scm_set_cred(scm, task_tgid(current), current_uid(), current_gid());
      |                     ^~~~~~~~~~~~~~~~~~
      |                     |
      |                     int
./include/net/scm.h:56:21: note: expected 'struct pid *' but argument is of type 'int'
   56 |         struct pid *pid, kuid_t uid, kgid_t gid)
      |         ~~~~~~~~~~~~^~~
In file included from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/include/linux/netfilter/ipset/ip_set_compat.h:95,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/include/linux/jhash.h:3,
                 from ./include/linux/rhashtable.h:24,
                 from ./include/linux/ipc.h:7,
                 from ./include/uapi/linux/sem.h:5,
                 from ./include/linux/sem.h:9,
                 from ./include/linux/sched.h:15,
                 from ./include/linux/uaccess.h:5,
                 from ./include/net/checksum.h:25,
                 from ./include/linux/skbuff.h:31,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/sched/em_ipset.c:16:
./include/linux/netlink.h: In function 'nlmsg_hdr':
./include/linux/netlink.h:16:31: error: dereferencing pointer to incomplete type 'const struct sk_buff'
   16 |  return (struct nlmsghdr *)skb->data;
      |                               ^~
./include/linux/netlink.h: In function 'netlink_skb_clone':
./include/linux/netlink.h:147:9: error: implicit declaration of function 'skb_clone'
[-Werror=implicit-function-declaration]
  147 |  nskb = skb_clone(skb, gfp_mask);
      |         ^~~~~~~~~
./include/linux/netlink.h:147:7: warning: assignment to 'struct sk_buff *' from 'int' makes pointer
from integer without a cast [-Wint-conversion]
  147 |  nskb = skb_clone(skb, gfp_mask);
      |       ^
./include/linux/netlink.h:152:25: error: dereferencing pointer to incomplete type 'struct sk_buff'
  152 |  if (is_vmalloc_addr(skb->head))
      |                         ^~
In file included from ./include/linux/uaccess.h:5,
                 from ./include/net/checksum.h:25,
                 from ./include/linux/skbuff.h:31,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/sched/em_ipset.c:16:
./include/linux/sched.h: At top level:
./include/linux/sched.h:1163:27: error: conflicting types for 'task_tgid'
 1163 | static inline struct pid *task_tgid(struct task_struct *task)
      |                           ^~~~~~~~~
In file included from ./include/linux/netlink.h:9,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/include/linux/netfilter/ipset/ip_set_compat.h:95,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/include/linux/jhash.h:3,
                 from ./include/linux/rhashtable.h:24,
                 from ./include/linux/ipc.h:7,
                 from ./include/uapi/linux/sem.h:5,
                 from ./include/linux/sem.h:9,
                 from ./include/linux/sched.h:15,
                 from ./include/linux/uaccess.h:5,
                 from ./include/net/checksum.h:25,
                 from ./include/linux/skbuff.h:31,
                 from
/var/tmp/portage/net-firewall/ipset-7.9/work/ipset-7.9/kernel/net/sched/em_ipset.c:16:
./include/net/scm.h:84:21: note: previous implicit declaration of 'task_tgid' was here
   84 |   scm_set_cred(scm, task_tgid(current), current_uid(), current_gid());
      |                     ^~~~~~~~~





[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux