diff --git src/vde_switch/plugins/dump.c src/vde_switch/plugins/dump.c
index 6132158..e7da1e6 100644
--- src/vde_switch/plugins/dump.c
+++ src/vde_switch/plugins/dump.c
@@ -2,6 +2,7 @@

 #include <stdio.h>
 #include <stdlib.h>
+#include <unistd.h>

 #include <config.h>
 #include <vde.h>
diff --git src/vdetaplib/libvdetap.c src/vdetaplib/libvdetap.c
index 00cd401..843a14e 100644
--- src/vdetaplib/libvdetap.c
+++ src/vdetaplib/libvdetap.c
@@ -102,6 +102,10 @@ void libvdetap_fini(void)
 	}
 }

+/* musl apparently defines open64 as a macro */
+#ifdef open64
+#undef open64
+#endif
 int open(const char *path, int flags, ...)
 {
 	va_list ap;
