--- a/extra/checkuid.c
+++ b/extra/checkuid.c
@@ -19,6 +19,7 @@
 
 
 #include <stdio.h>
+#include <stdlib.h>
 
 unsigned long uid1[32] = { /* bit 0  */  0x000045A0,
                            /* bit 1  */  0x00008B40,
--- a/extra/empty.c
+++ b/extra/empty.c
@@ -20,6 +20,7 @@
 #include <psiconv/generate.h>
 
 #include <stdio.h>
+#include <stdlib.h>
 
 void help(void)
 {
--- a/extra/rewrite.c
+++ b/extra/rewrite.c
@@ -21,6 +21,7 @@
 #include <psiconv/generate.h>
 
 #include <stdio.h>
+#include <stdlib.h>
 
 int main(int argc, char *argv[])
 {
--- a/lib/psiconv/error.c
+++ b/lib/psiconv/error.c
@@ -22,6 +22,7 @@
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 #include "error.h"
 
--- a/lib/psiconv/generate_layout.c
+++ b/lib/psiconv/generate_layout.c
@@ -23,6 +23,8 @@
 #include "generate_routines.h"
 #include "error.h"
 
+#include <string.h>
+
 #ifdef DMALLOC
 #include <dmalloc.h>
 #endif
--- a/lib/psiconv/generate_simple.c
+++ b/lib/psiconv/generate_simple.c
@@ -23,6 +23,8 @@
 #include "generate_routines.h"
 #include "error.h"
 
+#include <string.h>
+
 #ifdef DMALLOC
 #include <dmalloc.h>
 #endif
--- a/lib/psiconv/list.c
+++ b/lib/psiconv/list.c
@@ -23,6 +23,7 @@
 #include <stddef.h>
 #include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #include "general.h"
 #include "list.h"
 #include "error.h"
--- a/lib/psiconv/misc.c
+++ b/lib/psiconv/misc.c
@@ -22,6 +22,7 @@
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include "common.h"
 
 #ifdef DMALLOC
--- a/lib/psiconv/parse_driver.c
+++ b/lib/psiconv/parse_driver.c
@@ -21,6 +21,7 @@
 #include "compat.h"
 
 #include <stdlib.h>
+#include <string.h>
 
 #include "parse.h"
 #include "parse_routines.h"
