Subject: Upgrade 1.5.2 to CURRENT, link error
To: None <current-users@netbsd.org>
From: None <guillaume.thouvenin@polymtl.ca>
List: current-users
Date: 07/27/2002 07:19:09
Hello,


 I try to upgrade my NetNSD-1.5.2.i386 to NetBSD-current. So I follow
instructions given on :
http://www.netbsd.org/Documentation/current/#updating

 So I first update /usr/src tree using "sup" command. After that I build
the toolchain with ./built.sh -t from the root of the source tree. Now I
try to build the new kernel so I done the following things:

  *  cd sys/arch/ARCH/conf
  *  .../tools/obj/tools.NetBSD-1.5.2-i386/bin/nbconfig SKEELER_LAPTOP
  *  cd ../compile/SKEELER_LAPTOP
  *  .../tools/obj/tools.NetBSD-1.5.2-i386/bin/nbmake-i386 depend
  *  .../tools/obj/tools.NetBSD-1.5.2-i386/bin/nbmake-i386

 And I have the following error during the linkage :

/usr/src/sys/arch/i386/compile/SKEELER_LAPTOP # ../../../../../tools/obj/tools.NetBSD-1.5.2-i386/bin/nbmake-i386
making sure the compat library is up to date...
`libcompat.a' is up to date.
making sure the kern library is up to date...
`libkern.o' is up to date.
/usr/src/tools/obj/tools.NetBSD-1.5.2-i386/bin/i386--netbsdelf-ld -T ../../../../arch/i386/conf/kern.ldscript -Ttext c0100000 -e start -X -o netbsd ${SYSTEM_OBJ} vers.o
sbdsp.o: In function `sbdsp_attach':
sbdsp.o(.text+0x1d4): undefined reference to `audio_default'
sbdsp.o(.text+0x1e4): undefined reference to `audio_default'
sb.o: In function `sbattach':
sb.o(.text+0x1f6): undefined reference to `audio_attach_mi'
uaudio.o: In function `uaudio_attach':
uaudio.o(.text+0x2ab): undefined reference to `audio_attach_mi'
*** Error code 1

Stop.
nbmake: stopped in /usr/src/sys/arch/i386/compile/SKEELER_LAPTOP

 I paste my SKEELER_LAPTOP at the end of this mail.

 Is it a bug or did I miss something?
 Thanks for your help

 Guillaume

 ---8<---- SKEELER_LAPTOP config -----

#       $NetBSD: GENERIC_LAPTOP,v 1.53 2002/06/25 03:12:07 lukem Exp $
#       From: NetBSD: GENERIC,v 1.414 2001/07/30 19:59:05 ad Exp
#
#       SKEELER_LAPTOP -- Guillaume Thouvenin --
#

include "arch/i386/conf/std.i386"

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.54 $"

maxusers        32              # estimated number of users

# CPU support.  At least one is REQUIRED.
options         I386_CPU
options         I486_CPU
options         I586_CPU
options         I686_CPU

# CPU-related options.
options         MATH_EMULATE    # floating point emulation
options         VM86            # virtual 8086 emulation
options         USER_LDT        # user-settable LDT; used by WINE

options         MTRR            # memory-type range register syscall support
options         PERFCTRS        # performance-monitoring counters support

# Standard system options

options         UCONSOLE        # users can use TIOCCONS (for xconsole)
options         INSECURE        # disable kernel security levels

options         RTC_OFFSET=0    # hardware clock is this many mins. west of GMT
options         NTP             # NTP phase/frequency locked loop

options         KTRACE          # system call tracing via ktrace(1)

options         SYSVMSG         # System V-like message queues
options         SYSVSEM         # System V-like semaphores
options         SYSVSHM         # System V-like memory sharing

options         LKM             # loadable kernel modules

# Diagnostic/debugging support options
options         DDB             # in-kernel debugger
options         DDB_HISTORY_SIZE=512    # enable history editing in DDB

# Compatibility options
options         COMPAT_NOMID    # compatibility with 386BSD, BSDI, NetBSD 0.8,
options         COMPAT_09       # NetBSD 0.9,
options         COMPAT_10       # NetBSD 1.0,
options         COMPAT_11       # NetBSD 1.1,
options         COMPAT_12       # NetBSD 1.2,
options         COMPAT_13       # NetBSD 1.3,
options         COMPAT_14       # NetBSD 1.4,
options         COMPAT_15       # NetBSD 1.5,
options         COMPAT_43       # and 4.3BSD
options         COMPAT_386BSD_MBRPART # recognize old partition ID

options         COMPAT_SVR4     # binary compatibility with SVR4
options         COMPAT_IBCS2    # binary compatibility with SCO and ISC
options         COMPAT_LINUX    # binary compatibility with Linux
options         COMPAT_FREEBSD  # binary compatibility with FreeBSD

# File systems
file-system     FFS             # UFS
file-system     EXT2FS          # second extended file system (linux)
file-system     LFS             # log-structured file system
file-system     MFS             # memory file system
file-system     NFS             # Network File System client
file-system     NTFS            # Windows/NT file system (experimental)
file-system     CD9660          # ISO 9660 + Rock Ridge file system
file-system     MSDOSFS         # MS-DOS file system
file-system     FDESC           # /dev/fd
file-system     KERNFS          # /kern
file-system     NULLFS          # loopback file system
file-system     OVERLAY         # overlay file system
file-system     PORTAL          # portal filesystem (still experimental)
file-system     PROCFS          # /proc
file-system     UMAPFS          # NULLFS + uid and gid remapping
file-system     UNION           # union file system
file-system     CODA            # Coda File System; also needs vcoda (below)
# File system options
options         QUOTA           # UFS quotas
options         SOFTDEP         # FFS soft updates support.
options         NFSSERVER       # Network File System server

# Networking options
options         INET            # IP + ICMP + TCP + UDP
options         INET6           # IPV6
options         NS              # XNS
options         ISO,TPIP        # OSI
options         CCITT,LLC,HDLC  # X.25
options         NETATALK        # AppleTalk networking protocols
options         PPP_BSDCOMP     # BSD-Compress compression support for PPP
options         PPP_DEFLATE     # Deflate compression support for PPP
options         PPP_FILTER      # Active filter support for PPP (requires bpf)
options         PFIL_HOOKS      # pfil(9) packet filter hooks
options         IPFILTER_LOG    # ipmon(8) log support

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
options         MIIVERBOSE      # verbose PHY autoconfig messages
options         PCIVERBOSE      # verbose PCI device autoconfig messages
options         SCSIVERBOSE     # human readable SCSI error messages
options         USBVERBOSE      # verbose USB device autoconfig messages

options         NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM

#
# wscons options
#
# builtin terminal emulations

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

apm0    at mainbus0                     # Advanced power management

# Basic Bus Support

# Plug-and-Play BIOS and attached devices

pnpbios*        at mainbus?

# mainboard audio chips

# com port
# If enabled, consider changing "com0", "com1", and "com2" under "ISA Serial
# Interfaces" to "com*", otherwise com2 will attach at pnpbios? and there
# will be no com0.  A side effect is pcmcia (and other) com? previously
# starting at com3 may attach as com1 or com2.
com*            at pnpbios? index ?     # serial ports

# parallel port
# The above "com*" comments apply, cf. "lpt0" under "ISA parallel
# "printer interfaces".
lpt*            at pnpbios? index ?     # parallel ports

pckbc*          at pnpbios? index ?     # PC keyboard/mouse controller
fdc*            at pnpbios? index ?     # floppy controller

# IDE controller on Toshiba Portege 3000 series (crippled PCI device)
#pciide*        at pnpbios? index ?
# PCI bus support
pci*    at mainbus? bus ?
pci*    at pchb? bus ?

# Configure PCI using BIOS information
options         PCIBIOS                 # PCI BIOS support
options         PCIBIOSVERBOSE          # PCI BIOS verbose info
options         PCIBIOS_ADDR_FIXUP      # fixup PCI I/O addresses
options         PCIBIOS_BUS_FIXUP       # fixup PCI bus numbering
options         PCIBIOS_INTR_FIXUP      # fixup PCI interrupt routing
options         PCIBIOS_INTR_GUESS      # see pcibios(4)

# PCI bridges
pchb*   at pci? dev ? function ?        # PCI-Host bridges
pcib*   at pci? dev ? function ?        # PCI-ISA bridges

# ISA bus support
isa0    at mainbus?
isa0    at pcib?

# PCMCIA bus support

# ISA PCMCIA controllers

# PCI PCMCIA controllers
isapnp0 at isa?

# ISA Plug-and-Play PCMCIA controllers

# CardBus bridge support
cbb*            at pci? dev ? function ?
cardslot*       at cbb?

# CardBus bus support
cardbus*        at cardslot?
pcmcia*         at cardslot?

# Coprocessor Support

# Math Coprocessor support

# Console Devices

# ISA console
# Keyboard layout configuration for pccons

# wscons
pckbc0          at isa?                 # pc keyboard controller
pckbd*          at pckbc?               # PC keyboard
pms*            at pckbc?               # PS/2 mouse for wsmouse
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 ?
wsmouse*        at pms? mux 0

pcppi0          at isa?
sysbeep0        at pcppi?

# Serial Devices

# PCI serial interfaces

# ISA Plug-and-Play serial interfaces

# PCMCIA serial interfaces


# CardBus serial interfaces

# ISA serial interfaces
com0    at isa? port 0x3f8 irq 4        # Standard PC serial ports
com1    at isa? port 0x2f8 irq 3
com2    at isa? port 0x3e8 irq 5
#ast0   at isa? port 0x1a0 irq 5        # AST 4-port serial cards


# Parallel Printer Interfaces

# ISA parallel printer interfaces
lpt0    at isa? port 0x378 irq 7        # standard PC parallel ports
lpt1    at isa? port 0x278
lpt2    at isa? port 0x3bc

# Hardware monitors

# LM7[89] and compatible hardware monitors

# VIA VT82C686A hardware monitor


# SCSI Controllers and Devices

# PCMCIA SCSI controllers

# CardBus SCSI cards

# SCSI bus support

# SCSI 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

# ISA Plug-and-Play IDE controllers

# PCMCIA IDE controllers

# 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.

# 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 pciide? channel ? drive ? flags 0x0000

# ATAPI bus support
atapibus* at atapi?

# ATAPI devices
# flags have the same meaning as for IDE drives.
cd*     at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives

# Miscellaneous mass storage devices

# ISA floppy
fdc0    at isa? port 0x3f0 irq 6 drq 2  # standard PC floppy controllers
fd*     at fdc? drive ?                 # the drives themselves

# Network Interfaces

# PCI network interfaces

# PCMCIA network interfaces
an*     at pcmcia? function ?           # Aironet PC4500/PC4800 (802.11)
awi*    at pcmcia? function ?           # BayStack 650/660 (802.11FH/DS)
cnw*    at pcmcia? function ?           # Xircom/Netwave AirSurfer
ep*     at pcmcia? function ?           # 3Com 3c589 and 3c562 Ethernet
mbe*    at pcmcia? function ?           # MB8696x based Ethernet
ne*     at pcmcia? function ?           # NE2000-compatible Ethernet
ray*    at pcmcia? function ?           # Raytheon Raylink (802.11)
sm*     at pcmcia? function ?           # Megahertz Ethernet
wi*     at pcmcia? function ?           # Lucent WaveLan IEEE (802.11)
xi*     at pcmcia? function ?           # Xircom CreditCard Ethernet

mhzc*   at pcmcia? function ?           # Megahertz Ethernet/Modem combo cards
com*    at mhzc?
sm*     at mhzc?

# CardBus network cards
ex*     at cardbus? dev ? function ?    # 3Com 3C575TX
fxp*    at cardbus? dev ? function ?    # Intel i8255x
rtk*    at cardbus? dev ? function ?    # Realtek 8129/8139
tlp*    at cardbus? dev ? function ?    # DECchip 21143

# MII/PHY support

# USB Controller and Devices

# PCI USB controllers
uhci*   at pci? dev ? function ?        # Universal Host Controller (Intel)

# CardBus USB controllers

# USB bus support
usb*    at uhci?

# USB Hubs
uhub*   at usb?
uhub*   at uhub? port ? configuration ? interface ?

# USB HID device
uhidev* at uhub? port ? configuration ? interface ?

# USB Mice
ums*    at uhidev? reportid ?
wsmouse*        at ums? mux 0

# USB Keyboards
ukbd*   at uhidev? reportid ?
wskbd*  at ukbd? console ? mux 1

# USB Generic HID devices
uhid*   at uhidev? reportid ?

# USB Printer
ulpt*   at uhub? port ? configuration ? interface ?

# USB Modem
umodem* at uhub? port ? configuration ?
ucom*   at umodem?

# USB Mass Storage
umass*  at uhub? port ? configuration ? interface ?

# USB audio
uaudio* at uhub? port ? configuration ?

# USB MIDI
umidi* at uhub? port ? configuration ?

# USB IrDA
# USB-IrDA bridge spec
uirda* at uhub? port ? configuration ? interface ?
irframe* at uirda?

# SigmaTel STIr4200 USB/IrDA Bridge
ustir* at uhub? port ?
irframe* at ustir?

# USB Ethernet adapters
aue*    at uhub? port ?         # ADMtek AN986 Pegasus based adapters
cue*    at uhub? port ?         # CATC USB-EL1201A based adapters
kue*    at uhub? port ?         # Kawasaki LSI KL5KUSB101B based adapters

# Prolofic PL2301/PL2302 host-to-host adapter
upl*    at uhub? port ?

# Serial adapters
# FTDI FT8U100AX serial adapter
uftdi*  at uhub? port ?
ucom*   at uftdi? portno ?

uplcom* at uhub? port ?         # I/O DATA USB-RSAQ2 serial adapter
ucom*   at uplcom? portno ?

umct*   at uhub? port ?         # MCT USB-RS232 serial adapter
ucom*   at umct? portno ?

# Diamond Multimedia Rio 500
urio*   at uhub? port ?

# USB Handspring Visor
uvisor* at uhub? port ?
ucom*   at uvisor?

# Y@P firmware loader
uyap* at uhub? port ?

# USB Generic driver
ugen*   at uhub? port ?


# IrDA and Consumer Ir devices

# Toshiba Oboe
#irframe* at oboe?

# PCI audio devices

# ISA Plug-and-Play audio devices

# ISA audio devices
# the "aria" probe might give false hits
sb0     at isa? port 0x220 irq 5 drq 1 drq2 5   # SoundBlaster

# PCMCIA audio devices

# OPL[23] FM synthesizers
opl*    at sb?

# Audio support

# MPU 401 UARTs

# MIDI support
midi*   at pcppi?               # MIDI interface to the PC speaker

# The spkr driver provides a simple tone interface to the built in speaker.


# Mice

# ISA busmice

# Joysticks

# ISA Plug-and-Play joysticks
# ISA joysticks. Probe is a little strange; add only if you have one.


# Miscellaneous Devices

# Planetconnect Satellite receiver driver.

# Pull in optional local configuration
include "arch/i386/conf/GENERIC.local"


# Pseudo-Devices

# disk/mass storage pseudo-devices
pseudo-device   ccd             4       # concatenated/striped disk devices
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   ppp             2       # Point-to-Point Protocol
pseudo-device   pppoe                   # PPP over Ethernet (RFC 2516)
pseudo-device   sl              2       # Serial Line IP
pseudo-device   strip           2       # Starmode Radio IP (Metricom)
pseudo-device   irframetty              # IrDA frame line discipline
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

# miscellaneous pseudo-devices
pseudo-device   pty                     # pseudo-terminals
pseudo-device   tb              1       # tablet line discipline
pseudo-device   sequencer       1       # MIDI sequencer
# 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

# a pseudo device needed for Coda       # also needs CODA (above)
pseudo-device   vcoda           4       # coda minicache <-> venus comm.

# wscons pseudo-devices
pseudo-device   wsmux                   # mouse & keyboard multiplexor
pseudo-device   wsfont