--- utils/mountd/cache.c
+++ utils/mountd/cache.c
@@ -174,6 +174,7 @@
 	pw = getpwuid(uid);
 	if (!pw)
 		rv = -1;
+#ifndef __UCLIBC__
 	else {
 		rv = getgrouplist(pw->pw_name, pw->pw_gid, groups, &ngroups);
 		if (rv == -1 && ngroups >= groups_len) {
@@ -188,6 +189,7 @@
 			}
 		}
 	}
+#endif /* __UCLIBC__ */
 
 	bp = buf; blen = sizeof(buf);
 	qword_adduint(&bp, &blen, uid);
--- support/nfs/svc_socket.c
+++ support/nfs/svc_socket.c
@@ -47,10 +47,14 @@
 #if HAVE_GETRPCBYNUMBER_R
 	char rpcdata[1024];
 	struct rpcent rpcbuf;
-
+#ifndef __UCLIBC__ /* neither getrpcbynumber() nor getrpcbynumber_r() is SuSv3 */
 	ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof rpcdata,
 				&rpcp);
 #else
+	rpcp = getrpcbynumber (number);
+	ret = 0;
+#endif
+#else
 	rpcp = getrpcbynumber(number);
 #endif
 
