Re: PPP 2.3.5 won't compile

Clifford Kite (kite@inetport.com)
Sat, 13 Feb 1999 20:50:39 -0600 (CST)


On Sat, 13 Feb 1999, John LeMay wrote:

|Date: Sat, 13 Feb 1999 18:53:45 -0500
|From: John LeMay <jlemay@njmc.com>
|To: linux-ppp@vger.rutgers.edu,
| Linux Kernel <linux-kernel@vger.rutgers.edu>
|Subject: Re: PPP 2.3.5 won't compile
|
|Seems like I've tried everything suggested on the linux-ppp list here at
|least four times! I'm still unable to compile ppp-2.3.5 though. Thought
|I'd repost and include the kernel folks and see if anyone else has a
|suggestion. Basically, this is what I have:
|
|RH 5.1
|2.2.1
|kernel source in /usr/src/linux
|ppp source being compiled from /usr/local/src/ppp-2.3.5
| (from here did ./configure, make kernel, make)
|
|Sorry for the length of the following, but I get this during the make:
|
|[root@logan ppp-2.3.5]# make
|cd chat; make all
|make[1]: Entering directory `/usr/local/src/ppp-2.3.5/chat'
|make[1]: Nothing to be done for `all'.
|make[1]: Leaving directory `/usr/local/src/ppp-2.3.5/chat'
|cd pppd; make all
|make[1]: Entering directory `/usr/local/src/ppp-2.3.5/pppd'
|cc -O2 -pipe -Wall -g -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE
|-I../include -DCHAPMS=1 -DUSE_CRYPT=1 -DHAVE_CRYPT_H=1 -DHAS_SHADOW -c
|sys-linux.c -o sys-linux.o
|In file included from sys-linux.c:68:
|.../include/linux/ppp_defs.h:97: parse error before `ext_accm'
|.../include/linux/ppp_defs.h:97: warning: data definition has no type or
|storage class

Here is what I have for ppp-2.3.5 and the 2.1.131 kernel. I would expect
to be able to apply identical reasoning to that shown below for the 2.2.1
kernel.

In /usr/include/linux/ppp_defs.h, line 97 is

typedef __u32 ext_accm[8];

so __32 is not defined as a data type for you but it is for me. What
follows is the sequence of steps that lead to where the data type __32 is
defined for me. It's likely that for you there is a step somewhere in
this sequence in which something is missing.

In ppp-2.3.5/pppd/sys-linux.c, line 67 is
#include <linux/types.h>

In /usr/include/linux/types.h, line 5 is
#include <asm/types.h>

In /usr/include/asm/types.h, line 18 is
typedef unsigned int __u32;

which defines the data type __u32.

Find the missing step(s), fill it(them) in, and this error should be no
more. You also may then be able to banish, in a similar manner, any other
errors that were not generated by the missing data type. Perhaps even
before recompiling.

One thing that might cause this are missing symbolic links:
/usr/include/linux -> /usr/src/linux/include/linux/
/usr/include/asm -> /usr/src/linux/include/asm-i386/,

and,just to complete the list of kernel-related links that should exist,
/usr/include/scsi -> /usr/src/linux/include/scsi/

Another thing that might cause them is a missing include define, say, no
#include <asm/types.h>

in /usr/include/linux/types.h

---
Clifford Kite                                               Not a guru. (tm)
kite@inetport.com                                           Not even close.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/