--- mysql-5.1.48.orig/include/my_global.h	2010-06-03 17:50:27.000000000 +0200
+++ mysql-5.1.48/include/my_global.h	2010-07-12 22:51:23.369609493 +0200
@@ -18,6 +18,8 @@
 #ifndef _global_h
 #define _global_h
 
+#include <sys/param.h>
+
 /*
   InnoDB depends on some MySQL internals which other plugins should not
   need.  This is because of InnoDB's foreign key support, "safe" binlog
@@ -428,7 +430,7 @@ C_MODE_END
 #ifdef HAVE_FLOAT_H
 #include <float.h>
 #endif
-#ifdef HAVE_FENV_H
+#if defined(HAVE_FENV_H) && !defined(BSD)
 #include <fenv.h> /* For fesetround() */
 #endif
 
@@ -458,15 +460,20 @@ C_MODE_END
 #undef HAVE_ALLOCA
 #undef HAVE_ALLOCA_H
 #endif
-#ifdef HAVE_ALLOCA_H
+#if defined(HAVE_ALLOCA_H) && !defined(BSD)
 #include <alloca.h>
 #endif
 
 #include <errno.h>				/* Recommended by debian */
 /* We need the following to go around a problem with openssl on solaris */
+#ifdef BSD
+#include <pwd.h>
+#include <unistd.h>
+#else
 #if defined(HAVE_CRYPT_H)
 #include <crypt.h>
 #endif
+#endif
 
 /*
   A lot of our programs uses asserts, so better to always include it
@@ -883,9 +890,11 @@ typedef SOCKET_SIZE_TYPE size_socket;
 #endif /* HAVE_FINITE */
 #endif /* isfinite */
 
+/*
 #ifndef HAVE_ISNAN
 #define isnan(x) ((x) != (x))
 #endif
+*/
 
 #ifdef HAVE_ISINF
 /* Check if C compiler is affected by GCC bug #39228 */
