Hello,

Can any of you kind teeps help me out please? I'm trying to compile my FreeBSD 4.9 kernel for the first time and am having problems.

I am recompiling for several reasons; to learn about compiling the kernel; to get sound support for my isa soundcard and (finally); to compile in some firewall options mentioned in the handbook.

Here's what I've done:

1. used /stand/sysintsall to install the sys/src to my pc (from CD)
2. cd /usr/src/sys/i386/conf/
3. cp GENERIC SNDK
4. emacs SNDK (made only a few changes - see below for specifics)
5. /usr/sbin/config SNDK (this went ok, no warnings or errors)
6. cd ../../compile/SNDK
7. make depend

-- and here's where I get the following error:
<output>
su-2.05b# make depend
cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -ansi -nostdinc -I- -I. -I../.. -I../../../include -I../../contrib/dev/acpica -I../../contrib/ipfilter -D_KERNEL -include opt_global.h -mpreferred-stack-boundary=2 ../../i386/i386/genassym.c
In file included from ../../sys/inttypes.h:9,
from ../../sys/types.h:48,
from ../../sys/param.h:64,
from ../../i386/i386/genassym.c:44:
machine/ansi.h:118: redefinition of `__int64_t'
machine/_types.h:58: `__int64_t' previously declared here
machine/ansi.h:119: redefinition of `__uint64_t'
machine/_types.h:59: `__uint64_t' previously declared here
machine/ansi.h:130: redefinition of `__int8_t'
machine/_types.h:45: `__int8_t' previously declared here
machine/ansi.h:131: redefinition of `__uint8_t'
machine/_types.h:46: `__uint8_t' previously declared here
machine/ansi.h:132: redefinition of `__int16_t'
machine/_types.h:47: `__int16_t' previously declared here
machine/ansi.h:133: redefinition of `__uint16_t'
machine/_types.h:48: `__uint16_t' previously declared here
machine/ansi.h:134: redefinition of `__int32_t'
machine/_types.h:49: `__int32_t' previously declared here
machine/ansi.h:135: redefinition of `__uint32_t'
machine/_types.h:50: `__uint32_t' previously declared here
machine/ansi.h:137: redefinition of `__intptr_t'
machine/_types.h:77: `__intptr_t' previously declared here
machine/ansi.h:138: redefinition of `__uintptr_t'
machine/_types.h:94: `__uintptr_t' previously declared here
machine/ansi.h:147: conflicting types for `__mbstate_t'
../../sys/_types.h:100: previous declaration of `__mbstate_t'
machine/ansi.h:147: warning: redundant redeclaration of `__mbstate_t' in same scope
../../sys/_types.h:100: warning: previous declaration of `__mbstate_t'
In file included from ../../sys/param.h:64,
from ../../i386/i386/genassym.c:44:
../../sys/types.h:139: redefinition of `size_t'
../../../include/stddef.h:55: `size_t' previously declared here
*** Error code 1


Stop in /usr/src/sys/compile/SNDK.
su-2.05b#
</output>

In case you wish to see what changes i've made to the kernel, here's my SNDK version of the GENERIC file:

<sndk>
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.54 2003/04/28 03:41:46 simokawa Exp $


machine         i386
#cpu            I386_CPU
#cpu            I486_CPU
#cpu            I586_CPU
cpu             I686_CPU
ident           SNDK
maxusers        0

#makeoptions    DEBUG=-g                #Build kernel with gdb(1) debug symbols

options         MATH_EMULATE            #Support for x87 emulation
options         INET                    #InterNETworking
options         INET6                   #IPv6 communications protocols
options         FFS                     #Berkeley Fast Filesystem
options         FFS_ROOT                #FFS usable as root device [keep this!]
options         SOFTUPDATES             #Enable FFS soft updates support
options         UFS_DIRHASH             #Improve performance on big directories
options         MFS                     #Memory Filesystem
options         MD_ROOT                 #MD is a potential root device
options         NFS                     #Network Filesystem
options         NFS_ROOT                #NFS usable as root device, NFS required
options         MSDOSFS                 #MSDOS Filesystem
options         CD9660                  #ISO 9660 Filesystem
options         CD9660_ROOT             #CD-ROM usable as root, CD9660 required
options         PROCFS                  #Process filesystem
options         COMPAT_43               #Compatible with BSD 4.3 [KEEP THIS!]
options         SCSI_DELAY=15000        #Delay (in ms) before probing SCSI
options         UCONSOLE                #Allow users to grab the console
options         USERCONFIG              #boot -c editor
options         VISUAL_USERCONFIG       #visual boot -c editor
options         KTRACE                  #ktrace(1) support
options         SYSVSHM                 #SYSV-style shared memory
options         SYSVMSG                 #SYSV-style message queues
options         SYSVSEM                 #SYSV-style semaphores
options         P1003_1B                #Posix P1003_1B real-time extensions
options         _KPOSIX_PRIORITY_SCHEDULING
options         ICMP_BANDLIM            #Rate limit bad replies
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~215k to driver.

# To make an SMP kernel, the next two are needed
#options        SMP                     # Symmetric MultiProcessor Kernel
#options        APIC_IO                 # Symmetric (APIC) I/O

# To support HyperThreading, HTT is needed in addition to SMP and APIC_IO
#options        HTT                     # HyperThreading Technology

device          isa
#device         eisa
device          pci

# Floppy drives
device          fdc0    at isa? port IO_FD1 irq 6 drq 2
device          fd0     at fdc0 drive 0
device          fd1     at fdc0 drive 1
#
# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
# don't use the above line for fdc0 but the following one:
#device         fdc0

# ATA and ATAPI devices
device          ata0    at isa? port IO_WD1 irq 14
device          ata1    at isa? port IO_WD2 irq 15
device          ata
device          atadisk                 # ATA disk drives
device          atapicd                 # ATAPI CDROM drives
device          atapifd                 # ATAPI floppy drives
device          atapist                 # ATAPI tape drives
options         ATA_STATIC_ID           #Static device numbering

# SCSI Controllers
device          ahb             # EISA AHA1742 family
device          ahc             # AHA2940 and onboard AIC7xxx devices
device          ahd             # AHA39320/29320 and onboard AIC79xx devices
device          amd             # AMD 53C974 (Tekram DC-390(T))
device          isp             # Qlogic family
device          mpt             # LSI-Logic MPT/Fusion
device          ncr             # NCR/Symbios Logic
device          sym             # NCR/Symbios Logic (newer chipsets)
options         SYM_SETUP_LP_PROBE_MAP=0x40
                                # Allow ncr to attach legacy NCR devices when
                                # both sym and ncr are configured

device          adv0    at isa?
device          adw
device          bt0     at isa?
device          aha0    at isa?
device          aic0    at isa?

device          ncv             # NCR 53C500
device          nsp             # Workbit Ninja SCSI-3
device          stg             # TMC 18C30/18C50

# SCSI peripherals
device          scbus           # SCSI bus (required)
device          da              # Direct Access (disks)
device          sa              # Sequential Access (tape etc)
device          cd              # CD
device          pass            # Passthrough device (direct SCSI access)

# RAID controllers interfaced to the SCSI subsystem
device          asr             # DPT SmartRAID V, VI and Adaptec SCSI RAID
device          dpt             # DPT Smartcache - See LINT for options!
device          iir             # Intel Integrated RAID
device          mly             # Mylex AcceleRAID/eXtremeRAID
device          ciss            # Compaq SmartRAID 5* series

# RAID controllers
device          aac             # Adaptec FSA RAID, Dell PERC2/PERC3
#device         aacp            # SCSI passthrough for aac (requires CAM)
device          ida             # Compaq Smart RAID
device          amr             # AMI MegaRAID
device          mlx             # Mylex DAC960 family
device          twe             # 3ware Escalade

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc0 at isa? port IO_KBD
device          atkbd0  at atkbdc? irq 1 flags 0x1
device          psm0    at atkbdc? irq 12

device          vga0    at isa?

# splash screen/screen saver
pseudo-device   splash

# syscons is the default console driver, resembling an SCO console
device          sc0     at isa? flags 0x100

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device vt0 at isa?
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options PCVT_SCANSET=2 # IBM keyboards are non-std


device          agp             # support several AGP chipsets

# Floating point support - do not disable.
device          npx0    at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device          apm0    at nexus? disable flags 0x20 # Advanced Power Management

# PCCARD (PCMCIA) support
device          card
device          pcic0   at isa? irq 0 port 0x3e0 iomem 0xd0000
device          pcic1   at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

# Serial (COM) ports
device          sio0    at isa? port IO_COM1 flags 0x10 irq 4
device          sio1    at isa? port IO_COM2 irq 3
device          sio2    at isa? disable port IO_COM3 irq 5
device          sio3    at isa? disable port IO_COM4 irq 9

# Parallel port
device          ppc0    at isa? irq 7
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
device          plip            # TCP/IP over parallel
device          ppi             # Parallel port interface device
#device         vpo             # Requires scbus and da


# PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'') device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support
device          dc              # DEC/Intel 21143 and various workalikes
device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)
device          pcn             # AMD Am79C97x PCI 10/100 NICs
device          rl              # RealTek 8129/8139
device          sf              # Adaptec AIC-6915 (``Starfire'')
device          sis             # Silicon Integrated Systems SiS 900/SiS 7016
device          ste             # Sundance ST201 (D-Link DFE-550TX)
device          tl              # Texas Instruments ThunderLAN
device          tx              # SMC EtherPower II (83c170 ``EPIC'')
device          vr              # VIA Rhine, Rhine II
device          wb              # Winbond W89C840F
device          xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')
device          bge             # Broadcom BCM570x (``Tigon III'')

# ISA Ethernet NICs.
# 'device ed' requires 'device miibus'
device          ed0     at isa? disable port 0x280 irq 10 iomem 0xd8000
device          ex
device          ep
device          fe0     at isa? disable port 0x300
# Xircom Ethernet
device          xe
# PRISM I IEEE 802.11b wireless NIC.
device          awi
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
device          wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
device          an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device          ie0     at isa? disable port 0x300 irq 10 iomem 0xd0000
#device         le0     at isa? disable port 0x300 irq 5 iomem 0xd0000
device          lnc0    at isa? disable port 0x280 irq 10 drq 0
device          cs0     at isa? disable port 0x300
device          sn0     at isa? disable port 0x300 irq 10

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device   loop            # Network loopback
pseudo-device   ether           # Ethernet support
pseudo-device   sl      1       # Kernel SLIP
pseudo-device   ppp     1       # Kernel PPP
pseudo-device   tun             # Packet tunnel.
pseudo-device   pty             # Pseudo-ttys (telnet etc)
pseudo-device   md              # Memory "disks"
pseudo-device   gif             # IPv6 and IPv4 tunneling
pseudo-device   faith   1       # IPv6-to-IPv4 relaying (translation)

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device   bpf             #Berkeley packet filter

# USB support
device          uhci            # UHCI PCI->USB interface
device          ohci            # OHCI PCI->USB interface
device          usb             # USB Bus (required)
device          ugen            # Generic
device          uhid            # "Human Interface Devices"
device          ukbd            # Keyboard
device          ulpt            # Printer
device          umass           # Disks/Mass storage - Requires scbus and da
device          ums             # Mouse
device          uscanner        # Scanners
device          urio            # Diamond Rio MP3 Player
# USB Ethernet, requires mii
device          aue             # ADMtek USB ethernet
device          cue             # CATC USB ethernet
device          kue             # Kawasaki LSI USB ethernet

# FireWire support
device          firewire        # FireWire bus code
device          sbp             # SCSI over FireWire (Requires scbus and da)
device          fwe             # Ethernet over FireWire (non-standard!)

#john
device          pcm
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=10

</SNDK>

The only changes I have made are:

*setting the cpu to 686 (pc here is a Pentium 2 400mhz and dmesg reckons it is a 686 class cpu)
*commenting out eisa support (don't have any of these cards)
*adding firewall stuff
*adding pcm line


I have tried just using the GENERIC kernel but this fails with the same error also.

Have also tried adding sys/src from /stand/sysinstall but instead of using cd to update, have tried the FreeBSD ftp site, but this still gave the same error.

I have also tried googling about and searching google-groups but to no avail!

Can any of you kind teeps point me in the direction of where I'm going wrong?

Cheers,


John H

_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to