--- a/sysdep.h +++ b/sysdep.h @@ -37,12 +37,14 @@ int tun_read(int fd, unsigned char *buf, int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr); /***************************************************************************/ -#if defined(__linux__) || defined(__GLIBC__) +#if defined(__GLIBC__) || defined(__UCLIBC__) #include <error.h> +#define HAVE_ERROR 1 +#endif +#if defined(__linux__) || defined(__GLIBC__) #define HAVE_VASPRINTF 1 #define HAVE_ASPRINTF 1 -#define HAVE_ERROR 1 #define HAVE_UNSETENV 1 #define HAVE_SETENV 1 #endif --- a/sysdep.c +++ b/sysdep.c @@ -59,6 +59,10 @@ #if defined(__DragonFly__) #include <net/tun/if_tun.h> #elif defined(__linux__) +# if !defined(__GLIBC__) && !defined(__UCLIBC__) +# define _LINUX_IF_ETHER_H +# include <net/ethernet.h> +# endif #include <linux/if_tun.h> #elif defined(__APPLE__) /* no header for tun */ --- a/config.c +++ b/config.c @@ -28,6 +28,7 @@ #include <unistd.h> #include <string.h> #include <errno.h> +#include <sys/ttydefaults.h> #include <sys/types.h> #include <sys/utsname.h> #include <sys/wait.h>