Subject: Kernel compile problem with ALTQ
To: None <netbsd-users@netbsd.org>
From: Jamie Heckford <jamie@tridentmicrosystems.co.uk>
List: netbsd-users
Date: 03/02/2005 15:42:59
Hi,
Im having a bit of trouble compiling the kernel for a box im building to run ALTQ.
Version is:
NetBSD 2.0 (GENERIC) #0: Wed Dec 1 10:58:25 UTC 2004 builds@build:/big/builds/ab/netbsd-2-0-RELEASE/i386/200411300000Z-obj/big/builds/ab/netbsd-2-0-RELEASE/src/sys/arch/i386/compile/GENERIC
The build stops with:
# create vers.c
sh ../../../../conf/newvers.sh
# compile TSHAPER/vers.o
cc -ffreestanding -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-sign-compare -fno-zero-initialized-in-bss -Di386 -I. -I../../../../arch -I../../../.. -nostdinc -DLKM -DMAXUSERS=64 -D_KERNEL -D_KERNEL_OPT -c vers.c
# link TSHAPER/netbsd
ld -T ../../../../arch/i386/conf/kern.ldscript -Ttext c0100000 -e start -X -o netbsd ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o
altq_rio.o(.text+0xbd8): In function `rio_alloc':
: undefined reference to `wtab_alloc'
altq_rio.o(.text+0xd4e): In function `rio_destroy':
: undefined reference to `wtab_destroy'
altq_rio.o(.text+0x108b): In function `rio_addq':
: undefined reference to `drop_early'
altq_rio.o(.text+0x10e2): In function `rio_addq':
: undefined reference to `pow_w'
*** Error code 1
Stop.
make: stopped in /usr/src/sys/arch/i386/compile/TSHAPER
Anybody have any suggestions? Copy of kernel conf file below.
Thanks,
--
Jamie Heckford
Network Manager
Trident Microsystems Ltd.
t: +44(0)1737-780790
f: +44(0)1737-771908
w: http://www.tridentmicrosystems.co.uk/
# $NetBSD: GENERIC,v 1.595.2.11 2004/08/30 09:52:37 tron Exp $
# This machine description file is used to generate the default NetBSD
# kernel. The generic kernel does not include all options, subsystems
# and device drivers, but should be useful for most applications.
#
# The machine description file can be customised for your specific
# machine to reduce the kernel size and improve its performance.
#
# For further information on compiling NetBSD kernels, see the config(8)
# man page.
#
# For further information on hardware support for this architecture, see
# the intro(4) man page. For further information about kernel options
# for this architecture, see the options(4) man page. For an explanation
# of each device driver in this file see the section 4 man page for the
# device.
include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.595.2.11 $"
maxusers 64 # estimated number of users
# CPU support. At least one is REQUIRED.
options I686_CPU
# CPU-related options.
options VM86 # virtual 8086 emulation
options MTRR # memory-type range register syscall support
# Standard system options
options INSECURE # disable kernel security levels - X needs this
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options NTP # NTP phase/frequency locked loop
#options NO_TSC_TIME # Don't use TSC microtime, even if available.
# Improves time behavior under VMware.
options KTRACE # system call tracing via ktrace(1)
options SYSTRACE # system call vetting via systrace(1)
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
#options SEMMNI=10 # number of semaphore identifiers
#options SEMMNS=60 # number of semaphores in system
#options SEMUME=10 # max number of undo entries per process
#options SEMMNU=30 # number of undo structures in system
options SYSVSHM # System V-like memory sharing
#options SHMMAXPGS=2048 # 2048 pages is the default
options P1003_1B_SEMAPHORE # p1003.1b semaphore support
options LKM # loadable kernel modules
options USERCONF # userconf(4) support
options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
# Compatibility options
options COMPAT_NOMID # NetBSD 0.8, 386BSD, and BSDI
options COMPAT_09 # NetBSD 0.9
options COMPAT_10 # NetBSD 1.0
options COMPAT_11 # NetBSD 1.1
options COMPAT_12 # NetBSD 1.2, 386BSD, and BSDI
options COMPAT_13 # NetBSD 1.3, 386BSD, and BSDI
options COMPAT_14 # NetBSD 1.4
options COMPAT_15 # NetBSD 1.5
options COMPAT_16 # NetBSD 1.6
options COMPAT_43 # 4.3BSD, 386BSD, and BSDI
options COMPAT_386BSD_MBRPART # recognize old partition ID
# File systems
file-system FFS # UFS
file-system MFS # memory file system
file-system FDESC # /dev/fd
file-system KERNFS # /kern
file-system NULLFS # loopback file system
file-system PROCFS # /proc
file-system UMAPFS # NULLFS + uid and gid remapping
# File system options
options SOFTDEP # FFS soft updates support.
# Networking options
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
options ISO,TPIP # OSI
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
options ALTQ # Manipulate network interfaces' output queues
options ALTQ_CBQ # Class-Based Queueing
options ALTQ_RIO # RED with IN/OUT
#
# wscons options
options WSEMUL_VT100 # VT100 / VT220 emulation
# different kernel output - see dev/wscons/wsdisplayvar.h
options WS_KERNEL_FG=WSCOL_GREEN
# compatibility to other console drivers
options WSDISPLAY_COMPAT_PCVT # emulate some ioctls
options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls
options WSDISPLAY_COMPAT_USL # VT handling
options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
# use a large software cursor that doesn't blink
options PCDISPLAY_SOFTCURSOR
# Kernel root file system and dump configuration.
config netbsd root on ? type ?
#
# Device configuration
#
mainbus0 at root
cpu* at mainbus?
# Basic Bus Support
# PCI bus support
pci* at mainbus? bus ?
pci* at pchb? bus ?
pci* at ppb? bus ?
# PCI bridges
pchb* at pci? dev ? function ? # PCI-Host bridges
pceb* at pci? dev ? function ? # PCI-EISA bridges
pcib* at pci? dev ? function ? # PCI-ISA bridges
pcmb* at pci? dev ? function ? # PCI-MCA bridges
ppb* at pci? dev ? function ? # PCI-PCI bridges
# XXX 'puc's aren't really bridges, but there's no better place for them here
puc* at pci? dev ? function ? # PCI "universal" comm. cards
agp* at pchb?
# EISA bus support
eisa0 at mainbus?
eisa0 at pceb?
# ISA bus support
isa0 at mainbus?
isa0 at pceb?
isa0 at pcib?
#isa0 at ichlpcib?
# MCA bus support
mca0 at mainbus?
# ISA Plug-and-Play bus support
isapnp0 at isa?
# Math Coprocessor support
npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# Console Devices
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
vga0 at isa?
vga* at pci? dev ? function ?
pcdisplay0 at isa? # CGA, MDA, EGA, HGA
wsdisplay* at vga? console ?
wsdisplay* at pcdisplay? console ?
wskbd* at pckbd? console ?
pcppi0 at isa?
sysbeep0 at pcppi?
# Serial Devices
# PCI serial interfaces
com* at puc? port ? # 16x50s on "universal" comm boards
cy* at pci? dev ? function ? # Cyclades Cyclom-Y serial boards
cz* at pci? dev ? function ? # Cyclades-Z multi-port serial boards
# ISA Plug-and-Play serial interfaces
com* at isapnp? # Modems and serial boards
# I2O devices
iop* at pci? dev ? function ? # I/O processor
ld* at iop? tid ? # block devices
# IDE and related devices
# PCI IDE controllers - see pciide(4) for supported hardware.
# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
# how to set up DMA modes for this chip. This may work, or may cause
# a machine hang with some controllers.
pciide* at pci? dev ? function ? flags 0x0000 # GENERIC pciide driver
viaide* at pci? dev ? function ? # VIA/AMD/Nvidia IDE controllers
# ISA Plug-and-Play IDE controllers
wdc* at isapnp?
# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
wdc0 at isa? port 0x1f0 irq 14 flags 0x00
wdc1 at isa? port 0x170 irq 15 flags 0x00
# ATA (IDE) bus support
atabus* at ata?
# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd* at atabus? drive ? flags 0x0000
# ATAPI bus support
atapibus* at atapi?
# ATAPI devices
# flags have the same meaning as for IDE drives.
sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
# Network Interfaces
# PCI network interfaces
rtk* at pci? dev ? function ? # Realtek 8129/8139
ukphy* at mii? phy ? # generic unknown PHYs
# Pull in optional local configuration
include "arch/i386/conf/GENERIC.local"
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
# network pseudo-devices
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop # network loopback
pseudo-device tun 2 # network tunneling over tty
pseudo-device gre 2 # generic L3 over IP tunnel
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
pseudo-device vlan # IEEE 802.1q encapsulation
pseudo-device bridge # simple inter-network bridging
options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too
# miscellaneous pseudo-devices
pseudo-device pty # pseudo-terminals
# rnd works; RND_COM does not on port i386 yet.
pseudo-device rnd # /dev/random and in-kernel generator
pseudo-device clockctl # user control of clock subsystem
# wscons pseudo-devices
pseudo-device wsmux # mouse & keyboard multiplexor
pseudo-device wsfont
pseudo-device ksyms # /dev/ksyms