[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Tried to compile pppd but no luck



On Wed, Jul 02, 2003 at 12:22:10AM -0500, Juan Fdo Gallego Gómez wrote:
> I tried to compile pppd, just a checkout from the cvs at cvs.samba.org
> What I saw was that the support for freebsd was discontinued since
> freebsd-3.0 (1999), also it patches the kernel.

Yep; as Nathan said, FreeBSD support isn't being merged into pppd because
FreeBSD people are being lazy and maintain their own pppd patches.

It must be somewhere in http://www.freebsd.org/cgi/cvsweb.cgi/

> cd pppd
> cp Makefile.linux Makefile.gfbsd
> vi Makefile.gfbsd (I changed sys-linux.c to sys-bsd.c)
> make -f Makefile.gfbsd

Looking at the sources, it seems the root of the configuration is in
./configure. Instead of copying the makefile, we probably can go with
fixing ./configure. It's usualy best to avoid copying files specific
to our platform, since we'd end up maintaining them ourselves.

I haven't tested this, but:

- "makext" probably means userland, so "sys-bsd.c" is highly likely to assume
FreeBSD. we have GNU userland, which is what the sources call "linux", so
we set makext="linux" (it's ugly to call it like this, but i can live with
it ;))
- "ksrc" means the obvious

The attached patch would restore generic FreeBSD|GNU/FreeBSD support in
./configure, please have it a look.

After this, you'd just need to steal the new "freebsd-5.x" directories
from FreeBSD's cvs and add them to ./configure.

> And a lot of errors about symbols explicetely defined in sys-bsd.c and
> others.

If my guess about makext is right, sys-linux.c would work for us after
getting rid of some linuxisms. (the first "#if __GLIBC__ >= 2" looks
very nice :))

> Checking the configure script at the top level seems that it patches the
> freebsd kernel (version 3 and others ancient versions).

This is getting more confusing :(. Maybe it means FreeBSD 3.x and lower
didn't support PPP natively..

Anyway, if FreeBSD 5.x supports their own PPP, their kernel must be patched
already.

-- 
Robert Millan
diff -ur ppp-2.4.1.uus.old/configure ppp-2.4.1.uus/configure
--- ppp-2.4.1.uus.old/configure	2000-04-24 09:41:40.000000000 +0200
+++ ppp-2.4.1.uus/configure	2003-07-02 17:27:35.000000000 +0200
@@ -27,7 +27,7 @@
 		*)	;;
 	      esac;;
     esac;;
-    NetBSD|FreeBSD|ULTRIX|OSF1|NeXTStep|SINIX-?|UNIX_SV|UNIX_System_V)
+    NetBSD|ULTRIX|OSF1|NeXTStep|SINIX-?|UNIX_SV|UNIX_System_V)
       state="notincluded";;
 #    NetBSD)
 #      makext="bsd";
@@ -54,15 +54,20 @@
 #        V4.*)	state="known"; ksrc="osf1";;
 #        V[5-9]*) state="late"; ksrc="osf1";;
 #      esac;;
-#    FreeBSD)
-#      makext="bsd";
-#      case $release in
-#        1.*)	state="known"; ksrc="freebsd-old";;
-#        2.[01]*)	state="known"; ksrc="freebsd-2.0";;
-#        2.2.[2-7]*) state="late"; ksrc="freebsd-2.0";;
-#        2.2.8*)   state="known"; ksrc="freebsd-2.2.8";;
-#        3.[0-1]*)	state="known"; ksrc="freebsd-3.0";;
-#      esac;;
+     FreeBSD|GNU/FreeBSD)
+       case $system in
+	   FreeBSD)
+	     makext="bsd";;
+	   GNU/FreeBSD)
+	     makext="linux";;
+       esac
+       case $release in
+         1.*)	state="known"; ksrc="freebsd-old";;
+         2.[01]*)	state="known"; ksrc="freebsd-2.0";;
+         2.2.[2-7]*) state="late"; ksrc="freebsd-2.0";;
+         2.2.8*)   state="known"; ksrc="freebsd-2.2.8";;
+         3.[0-1]*)	state="known"; ksrc="freebsd-3.0";;
+       esac;;
 #    NeXTStep)
 #      makext="NeXT";
 #      ksrc="NeXT";

Reply to: