Hi Wireguard Users,

It looks like CentOS 7.5 was released recently, bringing with it new kernel and tools versions. When installing the wireguard-dkms package from the RHEL/CentOS7 repo, I'm seeing the following error:

make -j40 KERNELRELEASE=3.10.0-862.el7.x86_64 -C /lib/modules/3.10.0-862.el7.x86_64/build M=/var/lib/dkms/wireguard/0.0.20180420/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.10.0-862.el7.x86_64 (x86_64)
Consult /var/lib/dkms/wireguard/0.0.20180420/build/make.log for more information.

For brevity, the first few lines from make.log is pasted below. Full output can be found at https://pastebin.com/raw/teYsNLV1

Any new requirements needed to build, or is a code change required? 

make.log:
DKMS make.log for wireguard-0.0.20180420 for kernel 3.10.0-862.el7.x86_64 (x86_64)
Thu May 10 09:37:05 EDT 2018
make: Entering directory `/usr/src/kernels/3.10.0-862.el7.x86_64'
  LD      /var/lib/dkms/wireguard/0.0.20180420/build/built-in.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/main.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/noise.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/device.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/peer.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/timers.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/queueing.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/send.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/receive.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/socket.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/hashtables.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/allowedips.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/ratelimiter.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/cookie.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/netlink.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/crypto/curve25519.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/crypto/chacha20poly1305.o
  AS [M]  /var/lib/dkms/wireguard/0.0.20180420/build/crypto/chacha20-x86_64.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/crypto/blake2s.o
  AS [M]  /var/lib/dkms/wireguard/0.0.20180420/build/crypto/poly1305-x86_64.o
  AS [M]  /var/lib/dkms/wireguard/0.0.20180420/build/crypto/blake2s-x86_64.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20180420/build/compat/siphash/siphash.o
/var/lib/dkms/wireguard/0.0.20180420/build/crypto/chacha20-x86_64.o: warning: objtool: chacha20_avx512vl()+0x3f: can't find jump dest instruction at .text+0x2669
In file included from <command-line>:0:0:
/var/lib/dkms/wireguard/0.0.20180420/build/compat/compat.h:115:20: error: redefinition of ‘skb_reset_tc’
 static inline void skb_reset_tc(struct sk_buff *skb)
                    ^
In file included from include/linux/filter.h:11:0,
                 from include/net/sock.h:67,
                 from include/linux/tcp.h:23,
                 from include/linux/ipv6.h:70,
                 from include/net/dsfield.h:11,
                 from include/net/ip_tunnels.h:12,
                 from /var/lib/dkms/wireguard/0.0.20180420/build/compat/compat.h:80,
                 from <command-line>:0:
include/net/sch_generic.h:454:20: note: previous definition of ‘skb_reset_tc’ was here
 static inline void skb_reset_tc(struct sk_buff *skb)
                    ^
In file included from <command-line>:0:0:
/var/lib/dkms/wireguard/0.0.20180420/build/compat/compat.h:115:20: error: redefinition of ‘skb_reset_tc’
 static inline void skb_reset_tc(struct sk_buff *skb)
                    ^
In file included from include/linux/filter.h:11:0,
                 from include/net/sock.h:67,
                 from include/linux/tcp.h:23,
                 from include/linux/ipv6.h:70,
                 from include/net/dsfield.h:11,
                 from include/net/ip_tunnels.h:12,
                 from /var/lib/dkms/wireguard/0.0.20180420/build/compat/compat.h:80,
                 from <command-line>:0:
include/net/sch_generic.h:454:20: note: previous definition of ‘skb_reset_tc’ was here
 static inline void skb_reset_tc(struct sk_buff *skb)
                    ^
In file included from <command-line>:0:0:
/var/lib/dkms/wireguard/0.0.20180420/build/compat/compat.h:115:20: error: redefinition of ‘skb_reset_tc’
 static inline void skb_reset_tc(struct sk_buff *skb)
                    ^
In file included from include/linux/filter.h:11:0,
                 from include/net/sock.h:67,
                 from include/linux/tcp.h:23,
                 from include/linux/ipv6.h:70,
                 from include/net/dsfield.h:11,
                 from include/net/ip_tunnels.h:12,
                 from /var/lib/dkms/wireguard/0.0.20180420/build/compat/compat.h:80,
                 from <command-line>:0:
include/net/sch_generic.h:454:20: note: previous definition of ‘skb_reset_tc’ was here
 static inline void skb_reset_tc(struct sk_buff *skb)
                    ^
In file included from <command-line>:0:0:
/var/lib/dkms/wireguard/0.0.20180420/build/compat/compat.h:115:20: error: redefinition of ‘skb_reset_tc’
 static inline void skb_reset_tc(struct sk_buff *skb)
                    ^
In file included from /var/lib/dkms/wireguard/0.0.20180420/build/compat/compat.h:177:0,
                 from <command-line>:0:
/var/lib/dkms/wireguard/0.0.20180420/build/compat/checksum/checksum_partial_compat.h:192:19: error: static declaration of ‘skb_checksum_setup’ follows non-static declaration
--
Henry Snow | Director, Site Reliability Engineering
eXelate, a Nielsen company
E: henry.snow@nielsen.com | M: 347.366.2700
675 6th Ave, 3rd Floor, New York, NY 10010