diff -ru src.orig//pppd/plugins/radius/includes.h src/pppd/plugins/radius/includes.h
--- src.orig//pppd/plugins/radius/includes.h	2014-01-23 15:45:00.383855524 +0100
+++ src/pppd/plugins/radius/includes.h	2014-01-23 15:52:05.759715929 +0100
@@ -47,6 +47,10 @@
 
 #include <time.h>
 
+#ifndef __P
+#define __P(args) args
+#endif
+
 #include "magic.h"
 
 /* rlib/lock.c */
diff -ru src.orig//pppd/pppd.h src/pppd/pppd.h
--- src.orig//pppd/pppd.h	2014-01-23 15:45:00.387855522 +0100
+++ src/pppd/pppd.h	2014-01-23 15:45:44.987840885 +0100
@@ -67,6 +67,10 @@
 #define volatile
 #endif
 
+#ifndef __P
+#define __P(args) args
+#endif
+
 #ifdef INET6
 #include "eui64.h"
 #endif
diff -ru src.orig//include/net/ppp_defs.h src/include/net/ppp_defs.h
--- src.orig//include/net/ppp_defs.h	2014-01-23 15:59:32.607569287 +0100
+++ src/include/net/ppp_defs.h	2014-01-23 15:59:46.799564631 +0100
@@ -38,6 +38,8 @@
 #ifndef _PPP_DEFS_H_
 #define _PPP_DEFS_H_
 
+#include <time.h>
+
 /*
  * The basic PPP frame.
  */
diff -ru src.orig//pppd/sys-linux.c src/pppd/sys-linux.c
--- src.orig//pppd/sys-linux.c	2014-01-23 15:59:32.615569286 +0100
+++ src/pppd/sys-linux.c	2014-01-23 16:03:33.107490363 +0100
@@ -73,7 +73,7 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/time.h>
-#include <sys/errno.h>
+#include <errno.h>
 #include <sys/file.h>
 #include <sys/stat.h>
 #include <sys/utsname.h>
@@ -102,6 +102,10 @@
 #define MAX_ADDR_LEN 7
 #endif
 
+#ifndef __GLIBC__
+#define __GLIBC__ 2
+#endif
+
 #if __GLIBC__ >= 2
 #include <asm/types.h>		/* glibc 2 conflicts with linux/types.h */
 #include <net/if.h>
@@ -127,12 +131,7 @@
 
 #ifdef IPX_CHANGE
 #include "ipxcp.h"
-#if __GLIBC__ >= 2 && \
-    !(defined(__powerpc__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
-#include <netipx/ipx.h>
-#else
 #include <linux/ipx.h>
-#endif
 #endif /* IPX_CHANGE */
 
 #ifdef PPP_FILTER
