Hi, Up-to-date CentOS Linux release 7.4.1708 $ uname -r 3.10.0-693.2.2.el7.x86_64 Followed the official instructions at https://www.wireguard.com/install/ to install the latest wireguard snapshot on a fully up-to-date CentOS 7.4 but the kernel module compilation failed: $ cat /var/lib/dkms/wireguard/0.0.20171001/build/make.log DKMS make.log for wireguard-0.0.20171001 for kernel 3.10.0-693.2.2.el7.x86_64 (x86_64) Wed Oct 4 13:57:39 UTC 2017 make: Entering directory `/usr/src/kernels/3.10.0-693.2.2.el7.x86_64' LD /var/lib/dkms/wireguard/0.0.20171001/build/built-in.o CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/main.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/noise.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/device.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/peer.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/timers.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/queueing.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/send.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/receive.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/socket.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/hashtables.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/routingtable.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/ratelimiter.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/cookie.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ CC [M] /var/lib/dkms/wireguard/0.0.20171001/build/netlink.o In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:428:0: warning: "GENL_UNS_ADMIN_PERM" redefined [enabled by default] #define GENL_UNS_ADMIN_PERM GENL_ADMIN_PERM ^ In file included from include/linux/genetlink.h:4:0, from include/net/genetlink.h:4, from /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:406, from :0: include/uapi/linux/genetlink.h:24:0: note: this is the location of the previous definition #define GENL_UNS_ADMIN_PERM 0x10 ^ /var/lib/dkms/wireguard/0.0.20171001/build/netlink.c: In function ‘netlink_init’: /var/lib/dkms/wireguard/0.0.20171001/build/netlink.c:488:42: error: macro "genl_register_family_with_ops" passed 3 arguments, but takes just 2 return genl_register_family(&genl_family); ^ In file included from :0:0: /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:434:33: error: ‘genl_register_family_with_ops’ undeclared (first use in this function) #define genl_register_family(a) genl_register_family_with_ops(a, (struct genl_ops *)genl_ops, ARRAY_SIZE(genl_ops)) ^ /var/lib/dkms/wireguard/0.0.20171001/build/netlink.c:488:9: note: in expansion of macro ‘genl_register_family’ return genl_register_family(&genl_family); ^ /var/lib/dkms/wireguard/0.0.20171001/build/compat/compat.h:434:33: note: each undeclared identifier is reported only once for each function it appears in #define genl_register_family(a) genl_register_family_with_ops(a, (struct genl_ops *)genl_ops, ARRAY_SIZE(genl_ops)) ^ /var/lib/dkms/wireguard/0.0.20171001/build/netlink.c:488:9: note: in expansion of macro ‘genl_register_family’ return genl_register_family(&genl_family); ^ /var/lib/dkms/wireguard/0.0.20171001/build/netlink.c:489:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[1]: *** [/var/lib/dkms/wireguard/0.0.20171001/build/netlink.o] Error 1 make: *** [_module_/var/lib/dkms/wireguard/0.0.20171001/build] Error 2 make: Leaving directory `/usr/src/kernels/3.10.0-693.2.2.el7.x86_64' - A.