Patch from mathuria, compatability with solaris
diff --git a/coreutils/chown.c b/coreutils/chown.c
index 846e27c..4e766a9 100644
--- a/coreutils/chown.c
+++ b/coreutils/chown.c
@@ -35,7 +35,7 @@
 static long uid;
 static long gid;
 
-static int (*chown_func)(const char *, __uid_t, __gid_t) = chown;
+static int (*chown_func)(const char *, uid_t, gid_t) = chown;
 
 static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
 {
diff --git a/include/busybox.h b/include/busybox.h
index 1b69ef9..8285494 100644
--- a/include/busybox.h
+++ b/include/busybox.h
@@ -95,7 +95,9 @@
 
 /* Bit map related macros -- libc5 doens't provide these... sigh.  */
 #ifndef setbit
+#ifndef NBBY
 #define NBBY            CHAR_BIT
+#endif
 #define setbit(a,i)     ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
 #define clrbit(a,i)     ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
 #define isset(a,i)      ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
diff --git a/include/libbb.h b/include/libbb.h
index 42e89a5..c057ce4 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -55,7 +55,10 @@
 
 #if (__GNU_LIBRARY__ < 5) && (!defined __dietlibc__)
 /* libc5 doesn't define socklen_t */
+#ifndef _SOCKLEN_T
+#define _SOCKLEN_T
 typedef unsigned int socklen_t;
+#endif
 /* libc5 doesn't implement BSD 4.4 daemon() */
 extern int daemon (int nochdir, int noclose);
 /* libc5 doesn't implement strtok_r */