diff -urp 9base-orig/join/join.c 9base/join/join.c
--- 9base-orig/join/join.c	2012-03-01 13:34:48.000000000 +0100
+++ 9base/join/join.c	2012-03-01 13:45:19.000000000 +0100
@@ -1,7 +1,7 @@
 /*	join F1 F2 on stuff */
 #include <u.h>
-#include <libc.h>
 #include <stdio.h>
+#include <libc.h>
 #include <ctype.h>
 #define F1 0
 #define F2 1
diff -urp 9base-orig/lib9/libc.h 9base/lib9/libc.h
--- 9base-orig/lib9/libc.h	2012-03-01 13:34:49.000000000 +0100
+++ 9base/lib9/libc.h	2012-03-01 13:44:46.000000000 +0100
@@ -334,6 +334,13 @@ extern	long	p9tm2sec(Tm*);
 extern	vlong	p9nsec(void);
 
 #ifndef NOPLAN9DEFINES
+/* Clear some declarations to avoid conflicts in edge situation.
+ * uClibc based systems have this issue.
+ */
+#undef gmtime
+#undef localtime
+#undef asctime
+#undef ctime
 #define	gmtime		p9gmtime
 #define	localtime	p9localtime
 #define	asctime		p9asctime
