Subject: mrouted-3.81 and Linux Redhat 5.0

From: Thomas Kernen <[email-masked]>
Date: Wed, 06 May 1998 09:34:40 +0200

Hello all,

I'm setting up a 2nd mrouted-3.81 box under Linux Redhat 5.0 (kernel
2.0.32) but I get alot of errors when I run make (I did a make clean,
also I'm using the same mrouted-3.81 archive as my 1st box, running
slackware linux).

My kernel is setup for multicast and multicast tunneling:

IP Protocols: IGMP, ICMP, UDP, TCP, IPIP
Linux IP multicast router 0.07.

Here are the errors:

cc -D__BSD_SOURCE  -Ibsd -O -Iinclude-linux  -DRSRR	   -c igmp.c -o
igmp.o
In file included from /usr/include/linux/mroute.h:5,
                 from include-linux/netinet/ip_mroute.h:1,
                 from defs.h:35,
                 from igmp.c:14:
/usr/include/linux/in.h:73: warning: `IN_CLASSA' redefined
/usr/include/netinet/in.h:102: warning: this is the location of the
previous definition
/usr/include/linux/in.h:79: warning: `IN_CLASSB' redefined
/usr/include/netinet/in.h:108: warning: this is the location of the
previous definition
/usr/include/linux/in.h:85: warning: `IN_CLASSC' redefined
/usr/include/netinet/in.h:114: warning: this is the location of the
previous definition
/usr/include/linux/in.h:90: warning: `IN_CLASSD' redefined
/usr/include/netinet/in.h:119: warning: this is the location of the
previous definition
/usr/include/linux/in.h:94: warning: `IN_EXPERIMENTAL' redefined
/usr/include/netinet/in.h:122: warning: this is the location of the
previous definition
/usr/include/linux/in.h:95: warning: `IN_BADCLASS' redefined
/usr/include/netinet/in.h:123: warning: this is the location of the
previous definition
/usr/include/linux/in.h:98: warning: `INADDR_ANY' redefined
/usr/include/netinet/in.h:126: warning: this is the location of the
previous definition
/usr/include/linux/in.h:101: warning: `INADDR_BROADCAST' redefined
/usr/include/netinet/in.h:128: warning: this is the location of the
previous definition
/usr/include/linux/in.h:104: warning: `INADDR_NONE' redefined
/usr/include/netinet/in.h:130: warning: this is the location of the
previous definition
In file included from /usr/include/linux/ip.h:19,
                 from include-linux/netinet/ip.h:1,
                 from defs.h:33,
                 from igmp.c:14:
/usr/include/asm/byteorder.h:22: conflicting types for `ntohl'
/usr/include/netinet/in.h:198: previous declaration of `ntohl'
/usr/include/asm/byteorder.h:24: conflicting types for `htonl'
/usr/include/netinet/in.h:200: previous declaration of `htonl'
In file included from include-linux/netinet/ip.h:1,
                 from defs.h:33,
                 from igmp.c:14:
/usr/include/linux/ip.h:34: parse error before `__u8'
/usr/include/linux/ip.h:34: warning: no semicolon at end of struct or
union
/usr/include/linux/ip.h:35: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:37: parse error before `flags'
/usr/include/linux/ip.h:45: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:46: parse error before `}'
/usr/include/linux/ip.h:71: parse error before `__u32'
/usr/include/linux/ip.h:71: warning: no semicolon at end of struct or
union
/usr/include/linux/ip.h:76: parse error before `:'
/usr/include/linux/ip.h:88: parse error before `}'
/usr/include/linux/ip.h:92: parse error before `__u8'
/usr/include/linux/ip.h:92: warning: no semicolon at end of struct or
union
/usr/include/linux/ip.h:100: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:101: parse error before `tot_len'
/usr/include/linux/ip.h:101: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:102: parse error before `id'
/usr/include/linux/ip.h:102: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:103: parse error before `frag_off'
/usr/include/linux/ip.h:103: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:104: parse error before `ttl'
/usr/include/linux/ip.h:104: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:105: parse error before `protocol'
/usr/include/linux/ip.h:105: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:106: parse error before `check'
/usr/include/linux/ip.h:106: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:107: parse error before `saddr'
/usr/include/linux/ip.h:107: warning: data definition has no type or
storage class
/usr/include/linux/ip.h:108: parse error before `daddr'
/usr/include/linux/ip.h:108: warning: data definition has no type or
storage class
In file included from defs.h:33,
                 from igmp.c:14:
include-linux/netinet/ip.h:12: parse error before `__u8'
include-linux/netinet/ip.h:12: warning: no semicolon at end of struct or
union
include-linux/netinet/ip.h:19: warning: data definition has no type or
storage class
include-linux/netinet/ip.h:20: parse error before `ip_len'
include-linux/netinet/ip.h:20: warning: data definition has no type or
storage class
include-linux/netinet/ip.h:21: parse error before `ip_id'
include-linux/netinet/ip.h:21: warning: data definition has no type or
storage class
include-linux/netinet/ip.h:22: parse error before `ip_off'
include-linux/netinet/ip.h:22: warning: data definition has no type or
storage class
include-linux/netinet/ip.h:23: parse error before `ip_ttl'
include-linux/netinet/ip.h:23: warning: data definition has no type or
storage class
include-linux/netinet/ip.h:24: parse error before `ip_p'
include-linux/netinet/ip.h:24: warning: data definition has no type or
storage class
include-linux/netinet/ip.h:25: parse error before `ip_csum'
include-linux/netinet/ip.h:25: warning: data definition has no type or
storage class
include-linux/netinet/ip.h:27: parse error before `}'
In file included from include-linux/netinet/igmp.h:1,
                 from defs.h:34,
                 from igmp.c:14:
/usr/include/linux/igmp.h:29: parse error before `__u8'
/usr/include/linux/igmp.h:29: warning: no semicolon at end of struct or
union
/usr/include/linux/igmp.h:30: warning: data definition has no type or
storage class
/usr/include/linux/igmp.h:31: parse error before `csum'
/usr/include/linux/igmp.h:31: warning: data definition has no type or
storage class
/usr/include/linux/igmp.h:32: parse error before `group'
/usr/include/linux/igmp.h:32: warning: data definition has no type or
storage class
In file included from defs.h:34,
                 from igmp.c:14:
include-linux/netinet/igmp.h:7: parse error before `__u8'
include-linux/netinet/igmp.h:7: warning: no semicolon at end of struct
or union
include-linux/netinet/igmp.h:8: warning: data definition has no type or
storage class
include-linux/netinet/igmp.h:9: parse error before `igmp_cksum'
include-linux/netinet/igmp.h:9: warning: data definition has no type or
storage class
include-linux/netinet/igmp.h:11: parse error before `}'
In file included from /usr/include/linux/mroute.h:5,
                 from include-linux/netinet/ip_mroute.h:1,
                 from defs.h:35,
                 from igmp.c:14:
/usr/include/linux/in.h:25: conflicting types for `IPPROTO_IP'
/usr/include/netinet/in.h:33: previous declaration of `IPPROTO_IP'
/usr/include/linux/in.h:26: conflicting types for `IPPROTO_ICMP'
/usr/include/netinet/in.h:34: previous declaration of `IPPROTO_ICMP'
/usr/include/linux/in.h:27: conflicting types for `IPPROTO_IGMP'
/usr/include/netinet/in.h:35: previous declaration of `IPPROTO_IGMP'
/usr/include/linux/in.h:28: conflicting types for `IPPROTO_IPIP'
/usr/include/netinet/in.h:36: previous declaration of `IPPROTO_IPIP'
/usr/include/linux/in.h:29: conflicting types for `IPPROTO_TCP'
/usr/include/netinet/in.h:37: previous declaration of `IPPROTO_TCP'
/usr/include/linux/in.h:30: conflicting types for `IPPROTO_EGP'
/usr/include/netinet/in.h:38: previous declaration of `IPPROTO_EGP'
/usr/include/linux/in.h:31: conflicting types for `IPPROTO_PUP'
/usr/include/netinet/in.h:39: previous declaration of `IPPROTO_PUP'
/usr/include/linux/in.h:32: conflicting types for `IPPROTO_UDP'
/usr/include/netinet/in.h:40: previous declaration of `IPPROTO_UDP'
/usr/include/linux/in.h:33: conflicting types for `IPPROTO_IDP'
/usr/include/netinet/in.h:41: previous declaration of `IPPROTO_IDP'
/usr/include/linux/in.h:35: conflicting types for `IPPROTO_RAW'
/usr/include/netinet/in.h:45: previous declaration of `IPPROTO_RAW'
/usr/include/linux/in.h:37: conflicting types for `IPPROTO_MAX'
/usr/include/netinet/in.h:47: previous declaration of `IPPROTO_MAX'
/usr/include/linux/in.h:41: redefinition of `struct in_addr'
/usr/include/linux/in.h:48: redefinition of `struct ip_mreq'
/usr/include/linux/in.h:56: redefinition of `struct sockaddr_in'
In file included from igmp.c:14:
defs.h:159: conflicting types for `sys_errlist'
/usr/include/stdio.h:221: previous declaration of `sys_errlist'
igmp.c: In function `init_igmp':
igmp.c:56: dereferencing pointer to incomplete type
igmp.c:56: sizeof applied to an incomplete type
igmp.c:57: dereferencing pointer to incomplete type
igmp.c:58: dereferencing pointer to incomplete type
igmp.c:59: dereferencing pointer to incomplete type
igmp.c:60: dereferencing pointer to incomplete type
igmp.c:61: dereferencing pointer to incomplete type
igmp.c: In function `accept_igmp':
igmp.c:132: sizeof applied to an incomplete type
igmp.c:139: dereferencing pointer to incomplete type
igmp.c:140: dereferencing pointer to incomplete type
igmp.c:147: dereferencing pointer to incomplete type
igmp.c:155: dereferencing pointer to incomplete type
igmp.c:162: dereferencing pointer to incomplete type
igmp.c:162: dereferencing pointer to incomplete type
igmp.c:162: dereferencing pointer to incomplete type
igmp.c:162: dereferencing pointer to incomplete type
igmp.c:175: dereferencing pointer to incomplete type
igmp.c:185: dereferencing pointer to incomplete type
igmp.c:185: dereferencing pointer to incomplete type
igmp.c:188: dereferencing pointer to incomplete type
igmp.c:191: dereferencing pointer to incomplete type
igmp.c:196: dereferencing pointer to incomplete type
igmp.c:206: dereferencing pointer to incomplete type
igmp.c:209: arithmetic on pointer to an incomplete type
igmp.c:214: arithmetic on pointer to an incomplete type
igmp.c:226: arithmetic on pointer to an incomplete type
igmp.c:231: arithmetic on pointer to an incomplete type
igmp.c:236: arithmetic on pointer to an incomplete type
igmp.c:240: arithmetic on pointer to an incomplete type
igmp.c:244: arithmetic on pointer to an incomplete type
igmp.c:248: arithmetic on pointer to an incomplete type
igmp.c:253: arithmetic on pointer to an incomplete type
igmp.c:259: dereferencing pointer to incomplete type
igmp.c:271: arithmetic on pointer to an incomplete type
igmp.c:272: dereferencing pointer to incomplete type
igmp.c:278: dereferencing pointer to incomplete type
igmp.c: In function `send_igmp':
igmp.c:326: dereferencing pointer to incomplete type
igmp.c:327: dereferencing pointer to incomplete type
igmp.c:328: dereferencing pointer to incomplete type
igmp.c:331: dereferencing pointer to incomplete type
igmp.c:332: dereferencing pointer to incomplete type
igmp.c:333: dereferencing pointer to incomplete type
igmp.c:334: dereferencing pointer to incomplete type
igmp.c:335: dereferencing pointer to incomplete type
igmp.c:352: dereferencing pointer to incomplete type
make: *** [igmp.o] Error 1

Anyone come across this before?

Thanks,
Thomas