--- rw/libpnmrw.c.orig	Wed Jun 13 11:51:28 2001
+++ rw/libpnmrw.c	Wed Jun 13 11:56:10 2001
@@ -46,7 +46,7 @@
 
 void *malloc(int);
 void free(void *);
-#if defined(__EMX__) || defined(__CYGWIN__)
+#if defined(__EMX__) || defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
 #include <errno.h>
 #endif
 
@@ -131,6 +131,7 @@
 static void
 pm_perror(char *reason)
 {
+#if !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__NetBSD__)
 #if defined(BSD4_4)
     __const extern char *__const sys_errlist[];
 #else
@@ -146,6 +147,7 @@
 #endif
 #if !defined(__EMX__) || defined(__CYGWIN__)
     extern int errno;
+#endif
 #endif
     char *e;
 
