the linux headers have started adding shims to not define types or structs when C lib headers are active, but in order to work, the C lib headers have to be included before the linux headers. move the netinet/in.h include up above the linux/ includes. Mike Frysinger <vapier@gentoo.org> --- a/pppd/plugins/rp-pppoe/pppoe.h +++ b/pppd/plugins/rp-pppoe/pppoe.h @@ -47,6 +47,8 @@ #include <sys/socket.h> #endif +#include <netinet/in.h> + /* Ugly header files on some Linux boxes... */ #if defined(HAVE_LINUX_IF_H) #include <linux/if.h> @@ -84,8 +86,6 @@ typedef unsigned long UINT32_t; #include <linux/if_ether.h> #endif -#include <netinet/in.h> - #ifdef HAVE_NETINET_IF_ETHER_H #include <sys/types.h>