diff -Nru udev-134.orig/udev/udev-util.c udev-134/udev/udev-util.c
--- udev-134.orig/udev/udev-util.c	2008-11-06 02:56:15.000000000 +0100
+++ udev-134/udev/udev-util.c	2008-11-28 17:37:41.000000000 +0100
@@ -127,7 +127,11 @@
 uid_t util_lookup_user(struct udev *udev, const char *user)
 {
 	char *endptr;
+#if defined(_SC_GETPW_R_SIZE_MAX) 
 	int buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+#else
+        int buflen = 4096;
+#endif
 	char buf[buflen];
 	struct passwd pwbuf;
 	struct passwd *pw;
@@ -140,7 +144,11 @@
 		return uid;
 
 	errno = 0;
-	getpwnam_r(user, &pwbuf, buf, buflen, &pw);
+#if defined(getpwnam_r)
+	getpwnam_r(user, pwbuf, buf, buflen, &pw);
+#else
+	pw = getpwnam(user);
+#endif
 	if (pw != NULL)
 		return pw->pw_uid;
 	if (errno == 0 || errno == ENOENT || errno == ESRCH)
@@ -153,7 +161,11 @@
 extern gid_t util_lookup_group(struct udev *udev, const char *group)
 {
 	char *endptr;
+#if defined(_SC_GETGR_R_SIZE_MAX) 
 	int buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+#else
+        int buflen = 4096;
+#endif
 	char buf[buflen];
 	struct group grbuf;
 	struct group *gr;
@@ -166,7 +178,11 @@
 		return gid;
 
 	errno = 0;
+#if defined(getpwnam_r) 
 	getgrnam_r(group, &grbuf, buf, buflen, &gr);
+#else
+	gr = getgrnam(group);
+#endif
 	if (gr != NULL)
 		return gr->gr_gid;
 	if (errno == 0 || errno == ENOENT || errno == ESRCH)
