PPP 2.2.0e Compiling Trouble

PPP 2.2.0e Compiling Trouble

Post by Peter Kadle » Tue, 09 Apr 1996 04:00:00



Hi,

I am trying to compile the PPP 2.2.0e packege to work with
the 1.3.81 Kernel and am experiencing some major problems.

I fixed the include <sys/types> to include <sys/bitypes>, I added
include <linux/netdevice.h> in pppd.h and sys-linux.h and now this...

btw. My configuration is detailed below. Please also answer to

camelot:/usr/src/ppp-2.2.0e# make
cd chat; make all
make[1]: Entering directory `/usr/src/ppp-2.2.0e/chat'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/src/ppp-2.2.0e/chat'
cd pppd; make all
make[1]: Entering directory `/usr/src/ppp-2.2.0e/pppd'
cc -g   -D_linux_=1 -DHAVE_PATHS_H -o pppd main.o magic.o fsm.o lcp.o
ipcp.o upap.o chap.o md5.o ccp.o auth.o options.o sys-linux.o -lbsd #
-Wl,-M >pppd.map
fsm.o(.text+0x12d0): undefined reference to `__constant_memcpy'
fsm.o(.text+0x12f0): undefined reference to `__memcpy'
lcp.o(.text+0x13c): undefined reference to
`__constant_c_and_count_memset'
lcp.o(.text+0x166): undefined reference to `__constant_c_memset'
lcp.o(.text+0x186): undefined reference to `__memset_generic'
lcp.o(.text+0x1a6): undefined reference to `__memset_generic'
lcp.o(.text+0x1290): undefined reference to
`__constant_c_and_count_memset'
lcp.o(.text+0x12a9): undefined reference to `__constant_c_memset'
lcp.o(.text+0x12c9): undefined reference to `__memset_generic'
lcp.o(.text+0x12e9): undefined reference to `__memset_generic'
lcp.o(.text+0x1eb3): undefined reference to
`__constant_c_and_count_memset'
lcp.o(.text+0x1ec9): undefined reference to `__constant_c_memset'
lcp.o(.text+0x1ee9): undefined reference to `__memset_generic'
lcp.o(.text+0x1f09): undefined reference to `__memset_generic'
lcp.o(.text+0x277e): undefined reference to `__constant_memcpy'
lcp.o(.text+0x279e): undefined reference to `__memcpy'
lcp.o(.text+0x2820): undefined reference to `__constant_memcpy'
lcp.o(.text+0x2840): undefined reference to `__memcpy'
ipcp.o(.text+0x9d6): undefined reference to
`__constant_c_and_count_memset'
ipcp.o(.text+0x9e9): undefined reference to `__constant_c_memset'
ipcp.o(.text+0xa09): undefined reference to `__memset_generic'
ipcp.o(.text+0xa29): undefined reference to `__memset_generic'
ipcp.o(.text+0x133d): undefined reference to
`__constant_c_and_count_memset'
ipcp.o(.text+0x1359): undefined reference to `__constant_c_memset'
ipcp.o(.text+0x1379): undefined reference to `__memset_generic'
ipcp.o(.text+0x1399): undefined reference to `__memset_generic'
ipcp.o(.text+0x19de): undefined reference to `__constant_memcpy'
ipcp.o(.text+0x19fe): undefined reference to `__memcpy'
upap.o(.text+0x8f3): undefined reference to `__constant_memcpy'
upap.o(.text+0x913): undefined reference to `__memcpy'
upap.o(.text+0x953): undefined reference to `__constant_memcpy'

... etc.

My configuration is as follows:

pppd.h:

#ifndef __PPPD_H__
#define __PPPD_H__

#include <sys/param.h>          /* for MAXPATHLEN and BSD4_4, if defined
*/
/*#include <sys/types.h>*/              /* for u_int32_t, if defined */
#include <linux/ppp_defs.h>
#include <stdio.h>
#include <net/if.h>
/*Changes according to mail list!*/
#include <sys/bitypes.h>
#include <linux/netdevice.h>

#define NUM_PPP 16              /* One PPP interface supported (per
process) */

/*
 * Limits.
 */

#define MAXWORDLEN      1024    /* max length of word in file (incl
null) */
#define MAXARGS         1       /* max # args to a command */
#define MAXNAMELEN      256     /* max length of hostname or name for
auth */
#define MAXSECRETLEN    256     /* max length of password or secret */

sys-linux.c:

#include <sys/ioctl.h>
#include <sys/bitypes.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/errno.h>
#include <sys/stat.h>

#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
#include <string.h>
char * ___strtok = NULL;
#include <time.h>
#include <memory.h>
#include <utmp.h>
#include <mntent.h>
#include <signal.h>
#include <fcntl.h>
#include <ctype.h>

#include <linux/netdevice.h>

#include <net/if.h>
#include <linux/ppp_defs.h>
#include <net/if_arp.h>
#include <net/if_ppp.h>
#include <net/route.h>
#include <linux/if_ether.h>
#include <netinet/in.h>
/*#include <arpa/inet.h>*/

/*#include <linux/netdevice.h>*/

#include "pppd.h"
#include "fsm.h"
#include "ipcp.h"

Thanks for any help,

Peter

 
 
 

PPP 2.2.0e Compiling Trouble

Post by Jaewan Kim - AST » Thu, 11 Apr 1996 04:00:00


I have exactly the same problem.
I posted a question on comp.dcom.ppp newsgroup, so either of us should
hear the verdict soon.

It is 1.3.81 specific problem, for I had no trouble with 1.3.73 kernel
source. Maybe they did something in between.
Keep me posted if you get something.
Jaewan

: Hi,

: I am trying to compile the PPP 2.2.0e packege to work with
: the 1.3.81 Kernel and am experiencing some major problems.

: I fixed the include <sys/types> to include <sys/bitypes>, I added
: include <linux/netdevice.h> in pppd.h and sys-linux.h and now this...

: btw. My configuration is detailed below. Please also answer to

: camelot:/usr/src/ppp-2.2.0e# make
: cd chat; make all
: make[1]: Entering directory `/usr/src/ppp-2.2.0e/chat'
: make[1]: Nothing to be done for `all'.
: make[1]: Leaving directory `/usr/src/ppp-2.2.0e/chat'
: cd pppd; make all
: make[1]: Entering directory `/usr/src/ppp-2.2.0e/pppd'
: cc -g   -D_linux_=1 -DHAVE_PATHS_H -o pppd main.o magic.o fsm.o lcp.o
: ipcp.o upap.o chap.o md5.o ccp.o auth.o options.o sys-linux.o -lbsd #
: -Wl,-M >pppd.map
: fsm.o(.text+0x12d0): undefined reference to `__constant_memcpy'
: fsm.o(.text+0x12f0): undefined reference to `__memcpy'
: lcp.o(.text+0x13c): undefined reference to
: `__constant_c_and_count_memset'
: lcp.o(.text+0x166): undefined reference to `__constant_c_memset'
: lcp.o(.text+0x186): undefined reference to `__memset_generic'
: lcp.o(.text+0x1a6): undefined reference to `__memset_generic'
: lcp.o(.text+0x1290): undefined reference to
: `__constant_c_and_count_memset'
: lcp.o(.text+0x12a9): undefined reference to `__constant_c_memset'
: lcp.o(.text+0x12c9): undefined reference to `__memset_generic'
: lcp.o(.text+0x12e9): undefined reference to `__memset_generic'
: lcp.o(.text+0x1eb3): undefined reference to
: `__constant_c_and_count_memset'
: lcp.o(.text+0x1ec9): undefined reference to `__constant_c_memset'
: lcp.o(.text+0x1ee9): undefined reference to `__memset_generic'
: lcp.o(.text+0x1f09): undefined reference to `__memset_generic'
: lcp.o(.text+0x277e): undefined reference to `__constant_memcpy'
: lcp.o(.text+0x279e): undefined reference to `__memcpy'
: lcp.o(.text+0x2820): undefined reference to `__constant_memcpy'
: lcp.o(.text+0x2840): undefined reference to `__memcpy'
: ipcp.o(.text+0x9d6): undefined reference to
: `__constant_c_and_count_memset'
: ipcp.o(.text+0x9e9): undefined reference to `__constant_c_memset'
: ipcp.o(.text+0xa09): undefined reference to `__memset_generic'
: ipcp.o(.text+0xa29): undefined reference to `__memset_generic'
: ipcp.o(.text+0x133d): undefined reference to
: `__constant_c_and_count_memset'
: ipcp.o(.text+0x1359): undefined reference to `__constant_c_memset'
: ipcp.o(.text+0x1379): undefined reference to `__memset_generic'
: ipcp.o(.text+0x1399): undefined reference to `__memset_generic'
: ipcp.o(.text+0x19de): undefined reference to `__constant_memcpy'
: ipcp.o(.text+0x19fe): undefined reference to `__memcpy'
: upap.o(.text+0x8f3): undefined reference to `__constant_memcpy'
: upap.o(.text+0x913): undefined reference to `__memcpy'
: upap.o(.text+0x953): undefined reference to `__constant_memcpy'

: ... etc.

: My configuration is as follows:

: pppd.h:

: #ifndef __PPPD_H__
: #define __PPPD_H__

: #include <sys/param.h>          /* for MAXPATHLEN and BSD4_4, if defined
: */
: /*#include <sys/types.h>*/              /* for u_int32_t, if defined */
: #include <linux/ppp_defs.h>
: #include <stdio.h>
: #include <net/if.h>
: /*Changes according to mail list!*/
: #include <sys/bitypes.h>
: #include <linux/netdevice.h>

: #define NUM_PPP 16              /* One PPP interface supported (per
: process) */

: /*
:  * Limits.
:  */

: #define MAXWORDLEN      1024    /* max length of word in file (incl
: null) */
: #define MAXARGS         1       /* max # args to a command */
: #define MAXNAMELEN      256     /* max length of hostname or name for
: auth */
: #define MAXSECRETLEN    256     /* max length of password or secret */

: sys-linux.c:

: #include <sys/ioctl.h>
: #include <sys/bitypes.h>
: #include <sys/socket.h>
: #include <sys/time.h>
: #include <sys/errno.h>
: #include <sys/stat.h>

: #include <stdio.h>
: #include <stdlib.h>
: #include <syslog.h>
: #include <string.h>
: char * ___strtok = NULL;
: #include <time.h>
: #include <memory.h>
: #include <utmp.h>
: #include <mntent.h>
: #include <signal.h>
: #include <fcntl.h>
: #include <ctype.h>

: #include <linux/netdevice.h>

: #include <net/if.h>
: #include <linux/ppp_defs.h>
: #include <net/if_arp.h>
: #include <net/if_ppp.h>
: #include <net/route.h>
: #include <linux/if_ether.h>
: #include <netinet/in.h>
: /*#include <arpa/inet.h>*/

: /*#include <linux/netdevice.h>*/

: #include "pppd.h"
: #include "fsm.h"
: #include "ipcp.h"

: Thanks for any help,

: Peter

 
 
 

PPP 2.2.0e Compiling Trouble

Post by Jon Martin Sola » Wed, 17 Apr 1996 04:00:00




>   >I am trying to compile the PPP 2.2.0e packege to work with
>   >the 1.3.81 Kernel and am experiencing some major problems.

>   >I fixed the include <sys/types> to include <sys/bitypes>, I added
>   >include <linux/netdevice.h> in pppd.h and sys-linux.h and now this...

>   >cc -g   -D_linux_=1 -DHAVE_PATHS_H -o pppd main.o magic.o fsm.o lcp.o
>   >ipcp.o upap.o chap.o md5.o ccp.o auth.o options.o sys-linux.o -lbsd #
>   >-Wl,-M >pppd.map
>   >fsm.o(.text+0x12d0): undefined reference to `__constant_memcpy'
>   >fsm.o(.text+0x12f0): undefined reference to `__memcpy'
>   [etc]

>   I went through several problems trying to compile ppp-2.2.0.e with
>   kernel 1.3.83, and one of them looked just like this.  I don't
>   recall exactly, but I think I got rid of this one by putting just the
>   required
>       #define MAX_ADDR_LEN 7
>   in sys-linux.c, rather than #including the entire <linux/netdevice.h>.
>   I didn't need to put it in pppd.h at all.

>   As I recall, there was something about the kernel header files in
>   <linux/*> defining all sorts of macros for string functions (memcpy, etc),
>   and that this caused problems if you weren't actually compiling a kernel.  
>   Or something. :)

Somebody suggested to put #ifdef __KERNEL__ ... #endif
around the stuff in asm/string.h because only the kernel
uses the stuff.

Haven't tested it, but it sounds promising.

Jon Martin Solaas

--
Jon Martin Solaas                              

http://www.ifi.uio.no/~jonso                  

 
 
 

1. HELP: Compiling PPP 2.2.0e on 1.3.84 (Part 2)

OK, after specifying -O in the compile of pppd, I eliminated the
unresolved __memset_generic, etc. (Thanks to Mark Hahn)

Now ___strtok is undefined in sys-linux.c.

Again my configuration is:
        linux 1.3.84
        gcc 2.7.2
        libc-5.3.9
        binutils-2.6.0.12

Thanks.

--
Gordon Edwards

http://www.mindspring.com/~gse

2. init_tasks is not defined anywhere.

3. HELP: Compiling PPP 2.2.0e on 1.2.84 w/ gcc 2.7.2

4. Red Hat: I think problem with file system

5. Can't compile kernel with ppp 2.2.0e

6. MODEM SETUP

7. compiling ppp.2.2.0e and 13.12 kernel problem

8. Problem getting licq to work

9. Parse errors compiling PPP 2.2.0e

10. PPP 2.2.0e wont compile, Want my TRS-80 back

11. Compiling problem with ppp 2.2.0e

12. Trouble compiling ppp-2.2.0e

13. Prob compiling FTape 2.2.0e on 1.3.89