Problem with Linux-1.3.96

Paul Matthews (paul@matthews.com)
Sat, 27 Apr 1996 13:22:08 -0400 (EDT)


I can't compile linux-1.3.96. I get a series of parse errors in firewall.c:


gcc -D__KERNEL__ -I/extra/linux-1.3.96/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strength-reduce -pipe -m486 -DCPU=486 -DUTS_MACHINE='"i386"' -c -o init/version.o init/version.c
set -e; for i in kernel drivers mm fs net ipc lib arch/i386/kernel arch/i386/mm arch/i386/lib; do make -C $i; done
make[1]: Entering directory `/extra/linux-1.3.96/kernel'
make all_targets
make[2]: Entering directory `/extra/linux-1.3.96/kernel'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/extra/linux-1.3.96/kernel'
make[1]: Leaving directory `/extra/linux-1.3.96/kernel'
make[1]: Entering directory `/extra/linux-1.3.96/drivers'
set -e; for i in block char net ; do make -C $i; done
make[2]: Entering directory `/extra/linux-1.3.96/drivers/block'
make all_targets
make[3]: Entering directory `/extra/linux-1.3.96/drivers/block'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/extra/linux-1.3.96/drivers/block'
make[2]: Leaving directory `/extra/linux-1.3.96/drivers/block'
make[2]: Entering directory `/extra/linux-1.3.96/drivers/char'
make all_targets
make[3]: Entering directory `/extra/linux-1.3.96/drivers/char'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/extra/linux-1.3.96/drivers/char'
make[2]: Leaving directory `/extra/linux-1.3.96/drivers/char'
make[2]: Entering directory `/extra/linux-1.3.96/drivers/net'
make all_targets
make[3]: Entering directory `/extra/linux-1.3.96/drivers/net'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/extra/linux-1.3.96/drivers/net'
make[2]: Leaving directory `/extra/linux-1.3.96/drivers/net'
make all_targets
make[2]: Entering directory `/extra/linux-1.3.96/drivers'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/extra/linux-1.3.96/drivers'
make[1]: Leaving directory `/extra/linux-1.3.96/drivers'
make[1]: Entering directory `/extra/linux-1.3.96/mm'
make all_targets
make[2]: Entering directory `/extra/linux-1.3.96/mm'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/extra/linux-1.3.96/mm'
make[1]: Leaving directory `/extra/linux-1.3.96/mm'
make[1]: Entering directory `/extra/linux-1.3.96/fs'
set -e; for i in ext2 proc; do make -C $i; done
make[2]: Entering directory `/extra/linux-1.3.96/fs/ext2'
make all_targets
make[3]: Entering directory `/extra/linux-1.3.96/fs/ext2'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/extra/linux-1.3.96/fs/ext2'
make[2]: Leaving directory `/extra/linux-1.3.96/fs/ext2'
make[2]: Entering directory `/extra/linux-1.3.96/fs/proc'
make all_targets
make[3]: Entering directory `/extra/linux-1.3.96/fs/proc'
make[3]: Nothing to be done for `all_targets'.
make[3]: Leaving directory `/extra/linux-1.3.96/fs/proc'
make[2]: Leaving directory `/extra/linux-1.3.96/fs/proc'
make all_targets
make[2]: Entering directory `/extra/linux-1.3.96/fs'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/extra/linux-1.3.96/fs'
make[1]: Leaving directory `/extra/linux-1.3.96/fs'
make[1]: Entering directory `/extra/linux-1.3.96/net'
set -e; for i in core ethernet unix 802 ipv4; do make -C $i; done
make[2]: Entering directory `/extra/linux-1.3.96/net/core'
make all_targets
make[3]: Entering directory `/extra/linux-1.3.96/net/core'
gcc -D__KERNEL__ -I/extra/linux-1.3.96/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strength-reduce -pipe -m486 -DCPU=486 -DMODVERSIONS -DEXPORT_SYMTAB -c firewall.c
In file included from firewall.c:10:
/extra/linux-1.3.96/include/linux/skbuff.h:39: parse error before `__u32'
/extra/linux-1.3.96/include/linux/skbuff.h:39: warning: no semicolon at end of struct or union
/extra/linux-1.3.96/include/linux/skbuff.h:81: parse error before `__u32'
/extra/linux-1.3.96/include/linux/skbuff.h:81: warning: no semicolon at end of struct or union
/extra/linux-1.3.96/include/linux/skbuff.h:82: warning: data definition has no type or storage class
/extra/linux-1.3.96/include/linux/skbuff.h:83: parse error before `raddr'
/extra/linux-1.3.96/include/linux/skbuff.h:83: warning: data definition has no type or storage class
/extra/linux-1.3.96/include/linux/skbuff.h:84: parse error before `seq'
/extra/linux-1.3.96/include/linux/skbuff.h:84: warning: data definition has no type or storage class
/extra/linux-1.3.96/include/linux/skbuff.h:85: parse error before `end_seq'
/extra/linux-1.3.96/include/linux/skbuff.h:85: warning: data definition has no type or storage class
/extra/linux-1.3.96/include/linux/skbuff.h:86: parse error before `ack_seq'
/extra/linux-1.3.96/include/linux/skbuff.h:86: warning: data definition has no type or storage class
/extra/linux-1.3.96/include/linux/skbuff.h:113: parse error before `}'
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_queue_empty':
In file included from firewall.c:10:
/extra/linux-1.3.96/include/linux/skbuff.h:169: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_peek':
/extra/linux-1.3.96/include/linux/skbuff.h:180: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_queue_len':
/extra/linux-1.3.96/include/linux/skbuff.h:192: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_queue_head_init':
/extra/linux-1.3.96/include/linux/skbuff.h:205: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:206: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:207: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `__skb_queue_head':
/extra/linux-1.3.96/include/linux/skbuff.h:221: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:222: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:224: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:225: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:226: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:227: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:228: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `__skb_queue_tail':
/extra/linux-1.3.96/include/linux/skbuff.h:249: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:250: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:252: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:253: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:254: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:255: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:256: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `__skb_dequeue':
/extra/linux-1.3.96/include/linux/skbuff.h:278: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:282: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:283: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:284: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:285: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:286: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:287: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:288: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `__skb_insert':
/extra/linux-1.3.96/include/linux/skbuff.h:313: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:314: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:315: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:316: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:317: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:318: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_insert':
/extra/linux-1.3.96/include/linux/skbuff.h:330: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:330: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_append':
/extra/linux-1.3.96/include/linux/skbuff.h:344: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:344: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `__skb_unlink':
/extra/linux-1.3.96/include/linux/skbuff.h:356: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:357: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:358: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:359: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:360: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:361: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:362: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:363: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_unlink':
/extra/linux-1.3.96/include/linux/skbuff.h:379: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:380: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_put':
/extra/linux-1.3.96/include/linux/skbuff.h:390: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:391: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:392: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:393: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:393: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_push':
/extra/linux-1.3.96/include/linux/skbuff.h:400: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:401: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:402: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:402: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:404: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_pull':
/extra/linux-1.3.96/include/linux/skbuff.h:409: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:411: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:412: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:413: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_headroom':
/extra/linux-1.3.96/include/linux/skbuff.h:418: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:418: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_tailroom':
/extra/linux-1.3.96/include/linux/skbuff.h:423: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:423: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_reserve':
/extra/linux-1.3.96/include/linux/skbuff.h:428: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:429: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h: In function `skb_trim':
/extra/linux-1.3.96/include/linux/skbuff.h:434: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:436: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:437: dereferencing pointer to incomplete type
/extra/linux-1.3.96/include/linux/skbuff.h:437: dereferencing pointer to incomplete type
make[3]: *** [firewall.o] Error 1
make[3]: Leaving directory `/extra/linux-1.3.96/net/core'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/extra/linux-1.3.96/net/core'
make[1]: *** [sub_dirs] Error 2
make[1]: Leaving directory `/extra/linux-1.3.96/net'
make: *** [linuxsubdirs] Error 2

My configuration is an AMD 486DX2-80 with 32-MB RAM and 1.6-GB DASD.
I am currently running Linux 1.3.92, ELF, using gcc-2.7.2-patched.
I haven't seen this set of errors before.

The linux config file follows:

#
# Automatically generated make config: don't edit
#

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KERNELD=y

#
# General setup
#
# CONFIG_MATH_EMULATION is not set
CONFIG_NET=y
# CONFIG_MAX_16M is not set
# CONFIG_PCI is not set
CONFIG_SYSVIPC=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
CONFIG_M486=y

#
# Floppy, IDE, and other block devices
#
CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_IDE=y

#
# Please see drivers/block/README.ide for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDE_PCMCIA is not set
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_IDE_CHIPSETS=y

#
# Note: most of these also require special kernel boot parameters
#
CONFIG_BLK_DEV_DTC2278=y
# CONFIG_BLK_DEV_HT6560B is not set
# CONFIG_BLK_DEV_QD6580 is not set
# CONFIG_BLK_DEV_UMC8672 is not set
# CONFIG_BLK_DEV_ALI14XX is not set
# CONFIG_BLK_DEV_PROMISE is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_DEV_MD is not set

#
# Networking options
#
CONFIG_FIREWALL=y
# CONFIG_NET_ALIAS is not set
CONFIG_INET=y
CONFIG_IP_FORWARD=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIREWALL=y
# CONFIG_IP_ACCT is not set
# CONFIG_IP_ROUTER is not set
# CONFIG_NET_IPIP is not set
# CONFIG_IP_FIREWALL_VERBOSE is not set
CONFIG_IP_MASQUERADE=y
# CONFIG_IP_MROUTE is not set

#
# (it is safe to leave these untouched)
#
# CONFIG_INET_PCTCP is not set
# CONFIG_INET_RARP is not set
# CONFIG_NO_PATH_MTU_DISCOVERY is not set
CONFIG_TCP_NAGLE_OFF=y
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y

#
#
#
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
# CONFIG_ATALK is not set
# CONFIG_AX25 is not set
# CONFIG_BRIDGE is not set
# CONFIG_NETLINK is not set

#
# SCSI support
#
# CONFIG_SCSI is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
# CONFIG_SLIP_SMART is not set
CONFIG_PPP=m

#
# CCP compressors for PPP are only built as modules.
#
# CONFIG_STRIP is not set
# CONFIG_WIC is not set
# CONFIG_SCC is not set
# CONFIG_PLIP is not set
# CONFIG_EQUALIZER is not set
# CONFIG_DLCI is not set
# CONFIG_NET_ALPHA is not set
CONFIG_NET_VENDOR_SMC=y
# CONFIG_WD80x3 is not set
CONFIG_ULTRA=y
# CONFIG_SMC9194 is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_EISA is not set
# CONFIG_NET_POCKET is not set
# CONFIG_TR is not set
# CONFIG_ARCNET is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Filesystems
#
# CONFIG_QUOTA is not set
CONFIG_MINIX_FS=m
# CONFIG_EXT_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_XIA_FS is not set
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
# CONFIG_VFAT_FS is not set
# CONFIG_UMSDOS_FS is not set
CONFIG_PROC_FS=y
CONFIG_NFS_FS=m
CONFIG_SMB_FS=m
# CONFIG_NCP_FS is not set
CONFIG_ISO9660_FS=m
# CONFIG_HPFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_UFS_FS is not set

#
# Character devices
#
CONFIG_SERIAL=m
# CONFIG_DIGI is not set
# CONFIG_CYCLADES is not set
# CONFIG_STALDRV is not set
# CONFIG_RISCOM8 is not set
CONFIG_PRINTER=m
# CONFIG_BUSMOUSE is not set
# CONFIG_PSMOUSE is not set
# CONFIG_MS_BUSMOUSE is not set
# CONFIG_ATIXL_BUSMOUSE is not set
# CONFIG_UMISC is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_FTAPE is not set
# CONFIG_APM is not set
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set

#
# Sound
#
CONFIG_SOUND=m

#
# Kernel hacking
#
# CONFIG_PROFILE is not set

Regards,

Paul Matthews
paul@matthews.com