Portability fixes.

diff --git a/server/process.c b/server/process.c
index ee3ca64..4e8062b 100644
--- a/server/process.c
+++ b/server/process.c
@@ -11,7 +11,6 @@
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <sys/ptrace.h>
 #include <sys/time.h>
 #include <unistd.h>
 
diff --git a/server/ptrace.c b/server/ptrace.c
index b293126..cd772ca 100644
--- a/server/ptrace.c
+++ b/server/ptrace.c
@@ -10,6 +10,7 @@
 #include <errno.h>
 #include <stdio.h>
 #include <signal.h>
+#include <sys/types.h>
 #include <sys/ptrace.h>
 #ifdef HAVE_SYS_WAIT_H
 #include <sys/wait.h>
@@ -142,7 +143,7 @@
 /* read an int from a thread address space */
 int read_thread_int( struct thread *thread, const int *addr, int *data )
 {
-    if (((*data = ptrace( PTRACE_PEEKDATA, thread->unix_pid, addr )) == -1) && errno)
+    if (((*data = ptrace( PTRACE_PEEKDATA, thread->unix_pid, addr, 0 )) == -1) && errno)
     {
         file_set_error();
         return -1;