Hi Joe, 

Thanks for looking into this, yes you are correct that my machine's kernel version didn't match with what the rpm expected, I discovered this when I tried to build from source. Maybe this error should be fatal or output a message suggesting the expected kernel?

Have you tried to get your packages to working on an Atomic Host build? When I did, the install failed:

[fedora@atomic~]$ uname -r 

4.11.11-300.fc26.x86_64

[fedora@atomic~]$ sudo rpm-ostree install ./wireguard-dkms-0.0.20170726-1.fc26.noarch.rpm 

Checking out tree 0715ce8... done

Resolving dependencies... done

Overlaying... done

error: Running %post for wireguard-dkms: Executing bwrap(/usr/wireguard-dkms.post): Child process exited with code 8

So I just copied the wireguard.ko and wg binaries over from a regular Fedora 26, did an insmod and things are working, so I'm good for now.

thanks,

Adam


On Tue, Aug 8, 2017 at 6:51 PM, Joe Doss <joe@solidadmin.com> wrote:
Hey Adam,

Thanks for using WireGuard. See my response below.

On 08/08/2017 02:58 PM, adam souzis wrote:
I've been impressed with Wireguard, its design has helped simplify the implementation of a distributed sandbox app I am building quite a bit. But I have had mixed results getting it running on different distributions.

The good news is that I can report that I was able to build, install and run Wireguard on CoreOs.

The bad news is I was unable to get Wireguard working on either CentOS 7, Fedora 26 or Fedora 25 (running these on AWS), it doesn't appear to be installing the kernel module properly.

Here's what I see when install the RPM:

+ dkms add -m wireguard -v 0.0.20170629 -q --rpm_safe_upgrade

+ dkms build -m wireguard -v 0.0.20170629 -q

+ dkms install -m wireguard -v 0.0.20170629 -q

D: %post(wireguard-dkms-1:0.0.20170629-2.fc25.noarch): waitpid(14760) rc 14760 status 100

warning: %post(wireguard-dkms-1:0.0.20170629-2.fc25.noarch) scriptlet failed, exit status 1

Non-fatal POSTIN scriptlet failure in rpm package wireguard-dkms
Are you running into this issue on a freshly provisioned server? Or after you do a system update? Do you reboot into the most current kernel if you do update? Does the kernel update along with kernel-devel and kernel-headers?

This issue is caused by you running a kernel that doesn't have the correct kernel-header package installed:

[root@localhost ~]# dkms status
wireguard, 0.0.20170726: added

[root@localhost wireguard-0.0.20170726]# dkms build -m wireguard -v 0.0.20170726
Error! echo
Your kernel headers for kernel 4.11.8-300.fc26.x86_64 cannot be found at
/lib/modules/4.11.8-300.fc26.x86_64/build or /lib/modules/4.11.8-300.fc26.x86_64/source.

[root@localhost ~]# uname -a
Linux localhost.localdomain 4.11.8-300.fc26.x86_64 #1 SMP Thu Jun 29 20:09:48 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# rpm -qa |grep kernel
kernel-devel-4.11.11-300.fc26.x86_64
kernel-core-4.11.8-300.fc26.x86_64
kernel-headers-4.11.11-300.fc26.x86_64

I just tested the latest package on Vagrant and it works after running a dnf update and rebooting into the most current kernel that matches the currently installed kernel headers package.

[root@localhost ~]# uname -a
Linux localhost.localdomain 4.11.11-300.fc26.x86_64 #1 SMP Mon Jul 17 16:32:11 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# rpm -qa |grep kernel
kernel-devel-4.11.11-300.fc26.x86_64
kernel-core-4.11.8-300.fc26.x86_64
kernel-headers-4.11.11-300.fc26.x86_64
kernel-core-4.11.11-300.fc26.x86_64

[root@localhost ~]# dkms build -m wireguard -v 0.0.20170726
Module wireguard/0.0.20170726 already built for kernel 4.11.11-300.fc26.x86_64/4

[root@localhost ~]# ip link add dev wg0 type wireguard

[root@localhost ~]# wg show
interface: wg0

You either want to install the kernel-headers package that matches your currently running kernel or dnf update and reboot, then DKMS will auto build the WireGuard kernel module on boot.

Joe

--
Joe Doss
joe@solidadmin.com

_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard