Compiling wireguard-go on non linux platforms

Johan Henselmans johan at
Mon Feb 19 11:42:32 CET 2018

It seems wireguard-go is not exactly cross-platfrom at the moment, this is what happens at the moment when compiling os mac os:

go build -o wireguard-go
# _/Users/johan/projecten/testdevel/go/examples/wireguard-go
./main.go:94:11: undefined: CreateTUNFromFile
./main.go:108:11: undefined: UAPIOpen
./main.go:142:18: too many arguments in call to Daemonize
	have (*os.ProcAttr)
	want ()
./main.go:165:15: undefined: UAPIListen
./tun_darwin.go:178:2: cannot use device (type *NativeTUN) as type TUNDevice in return argument:
	*NativeTUN does not implement TUNDevice (missing File method)
make: *** [wireguard-go] Error 2

(Darwin Kernel Version 17.5.0: Mon Jan 29 02:17:30 PST 2018; root:xnu-4570.50.257~17/RELEASE_X86_64 x86_64)

I noticed there was some discussion about not having a mac available to test cross-platform code. I do.

If there is anything I can do to help to make the code work cross-platform, please let me know.

Kind Regards,
Johan Henselmans

More information about the WireGuard mailing list