--- gnome-ppp/gnome-ppp-chat/gnome-ppp-chat.c.orig	Thu Feb 25 03:12:22 1999
+++ gnome-ppp/gnome-ppp-chat/gnome-ppp-chat.c	Wed Mar  3 14:31:50 1999
@@ -35,6 +35,7 @@
 #include <iovec.h>
 #endif
 
+#include <sys/uio.h>
 
 #ifndef CMSG_DATA /* Linux libc5 */
 /* Ancillary data object manipulation macros.  */
--- gnome-ppp/libgnome_ppp/modem.c.orig	Thu Feb 25 03:12:24 1999
+++ gnome-ppp/libgnome_ppp/modem.c	Wed Mar  3 14:31:50 1999
@@ -221,6 +221,9 @@
   return(modem_get_status(modem) & TIOCM_CD) ? 1 : 0;
 }
 
+#define IUCLC	0
+#define OLCUC	0
+#define XCASE	0
 
 /* PRIVATE */
 static gboolean
--- gnome-ppp/libgnome_ppp/pppd.c.orig	Thu Feb 25 03:12:24 1999
+++ gnome-ppp/libgnome_ppp/pppd.c	Wed Mar  3 14:31:50 1999
@@ -42,6 +42,7 @@
 #include <iovec.h>
 #endif
 
+#include <sys/uio.h>
 
 #ifndef CMSG_DATA /* Linux libc5 */
 /* Ancillary data object manipulation macros.  */
@@ -590,6 +591,7 @@
       /* sentinal */  
       args[arg_index] = NULL;
       
+#ifndef __FreeBSD__
       /* become process group leader so pppd's bad habbit of
        * echoing signals to its entire fucking process group
        * doesn't clobber this program
@@ -598,6 +600,7 @@
 	{
 	  _exit(0);
 	}
+#endif
 
       /* close all file descriptors */
       for (fd = 0; fd <= 64; fd++)
--- gnome-ppp/libgnome_ppp/program.c.orig	Wed Mar  3 14:36:27 1999
+++ gnome-ppp/libgnome_ppp/program.c	Wed Mar  3 14:40:27 1999
@@ -76,11 +76,13 @@
       g_string_sprintf(gstr, "PPPD_PID=%d", pppd_pid(account));
       putenv(gstr->str);
 
+#ifndef __FreeBSD__
       /* become head of process group */
       if (setpgrp() == -1)
 	{
 	  _exit(0);
 	}
+#endif
 
       /* close all file descriptors */
       for (fd = 0; fd <= 64; fd++)
