View Single Post
  #1   (View Single Post)  
Old 6th January 2010
FreeBee FreeBee is offline
Real Name: A name is just a word or a label, not really me!
Port Guard
 
Join Date: Jan 2010
Location: My own head.
Posts: 39
Question Undefined reference to `xpt_bus_deregister'

While trying to build a custom kernel on 8-RELEASE I got some new error messages:

Kernel config:

Code:
#
# newkernel -- Specific kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the config(5) manual page,
# and/or 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 ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.519.2.6 2009/11/17 15:56:45 jhb Exp $

#cpu		I486_CPU
#cpu		I586_CPU
cpu		I686_CPU
ident		newkernel

# To statically compile in device wiring instead of /boot/device.hints
#hints		"GENERIC.hints"		# Default places to look for devices.

# Use the following to compile in values accessible to the kernel
# through getenv() (or kenv(1) in userland). The format of the file
# is 'variable=value', see kenv(1)
#
# env		"GENERIC.env"

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

options 	SCHED_ULE		# ULE scheduler
options 	PREEMPTION		# Enable kernel thread preemption
options 	INET			# InterNETworking
#options 	INET6			# IPv6 communications protocols
options 	SCTP			# Stream Control Transmission Protocol
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_ACL			# Support for access control lists
options 	UFS_DIRHASH		# Improve performance on big directories
options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
options 	MD_ROOT			# MD is a potential root device
#options 	NFSCLIENT		# Network Filesystem Client
#options 	NFSSERVER		# Network Filesystem Server
#options 	NFSLOCKD		# Network Lock Manager
#options 	NFS_ROOT		# NFS usable as /, requires NFSCLIENT
options 	MSDOSFS			# MSDOS Filesystem
options 	CD9660			# ISO 9660 Filesystem
#options 	PROCFS			# Process filesystem (requires PSEUDOFS)
#options 	PSEUDOFS		# Pseudo-filesystem framework
options 	GEOM_PART_GPT		# GUID Partition Tables.
options 	GEOM_LABEL		# Provides labelization
options 	COMPAT_43TTY		# BSD 4.3 TTY compat (sgtty)
#options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
#options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
options 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
options 	COMPAT_FREEBSD7		# Compatible with FreeBSD7
#options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
#options 	KTRACE			# ktrace(1) support
options 	STACK			# stack(9) support
options 	SYSVSHM			# SYSV-style shared memory
#options 	SYSVMSG			# SYSV-style message queues
#options 	SYSVSEM			# SYSV-style semaphores
options 	P1003_1B_SEMAPHORES	# POSIX-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
options 	AUDIT			# Security event auditing
options 	MAC			# TrustedBSD MAC Framework
options		FLOWTABLE		# per-cpu routing cache
#options 	KDTRACE_HOOKS		# Kernel DTrace hooks

# To make an SMP kernel, the next two lines are needed
#options 	SMP			# Symmetric MultiProcessor Kernel
device		apic			# I/O APIC

# CPU frequency control
device		cpufreq

# Bus support.
device		acpi
#device		eisa
device		pci

# Floppy drives
#device		fdc

# ATA and ATAPI devices
device		ata
device		atadisk		# ATA disk drives
#device		ataraid		# ATA RAID 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

# SCSI peripherals

# RAID controllers interfaced to the SCSI subsystem

# RAID controllers

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard
device		psm		# PS/2 mouse

#device		kbdmux		# keyboard multiplexer

device		vga		# VGA video card driver
options		VESA
options		SC_PIXEL_MODE
device		splash		# Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device		sc

device		agp		# support several AGP chipsets

# Power management support (see NOTES for more options)
device		apm
# Add suspend/resume support for the i8254.
device		pmtimer

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device		cbb		# cardbus (yenta) bridge
device		pccard		# PC Card (16-bit) bus
device		cardbus		# CardBus (32-bit) bus

# Serial (COM) ports
#device		uart		# Generic UART driver

# Parallel port
#device		ppc
#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

# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to sio, uart and/or ppc drivers):
#device		puc

# PCI Ethernet NICs.

# 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		vr		# VIA Rhine, Rhine II

# Wireless NIC cards
device		wlan		# 802.11 support
options 	IEEE80211_DEBUG	# enable debug msgs
options 	IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
options 	IEEE80211_SUPPORT_MESH	# enable 802.11s draft support
device		wlan_wep	# 802.11 WEP support
device		wlan_ccmp	# 802.11 CCMP support
device		wlan_tkip	# 802.11 TKIP support
device		wlan_amrr	# AMRR transmit rate control algorithm
#device		an		# Aironet 4500/4800 802.11 wireless NICs.
device		ath		# Atheros pci/cardbus NIC's
device		ath_hal		# pci/cardbus chip support
#options 	AH_SUPPORT_AR5416	# enable AR5416 tx/rx descriptors
device		ath_rate_sample	# SampleRate tx rate control for ath
#device		ral		# Ralink Technology RT2500 wireless NICs.
#device		wi		# WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device		wl		# Older non 802.11 Wavelan wireless NIC.

# Pseudo devices.
device		loop		# Network loopback
device		random		# Entropy device
device		ether		# Ethernet support
device		tun		# Packet tunnel.
device		pty		# BSD-style compatibility pseudo ttys
device		md		# Memory "disks"
device		gif		# IPv6 and IPv4 tunneling
device		faith		# IPv6-to-IPv4 relaying (translation)
device		firmware	# firmware assist module

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device		bpf		# Berkeley packet filter

# USB support
device		uhci		# UHCI PCI->USB interface
device		ohci		# OHCI PCI->USB interface
device		ehci		# EHCI PCI->USB interface (USB 2.0)
device		usb		# USB Bus (required)
#device		udbp		# USB Double Bulk Pipe devices
device		uhid		# "Human Interface Devices"
device		ukbd		# Keyboard
device		ulpt		# Printer
device		umass		# Disks/Mass storage - Requires scbus and da
device		ums		# Mouse
#device		urio		# Diamond Rio 500 MP3 player

# USB Serial devices

# USB Ethernet, requires miibus

# USB Wireless

# FireWire support
Compile error:

Code:
MAKE=make sh /usr/src/sys/conf/newvers.sh newkernel
cc -c -O2 -pipe -fno-strict-aliasing -march=pentium-m -std=c99 -g -Wall -Wredund
ant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-a
rith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -nostdi
nc  -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTIO
N_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-u
nit-growth=100 --param large-function-growth=1000  -mno-align-long-strings -mpre
ferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffree
standing -fstack-protector -Werror  vers.c
linking kernel.debug
umass.o(.text+0xda): In function `umass_detach':
/usr/src/sys/dev/usb/storage/umass.c:2242: undefined reference to `xpt_bus_dereg
ister'
umass.o(.text+0x108):/usr/src/sys/dev/usb/storage/umass.c:2245: undefined refere
nce to `cam_sim_free'
umass.o(.text+0xd6e): In function `umass_std_transform':
/usr/src/sys/dev/usb/storage/umass.c:3075: undefined reference to `xpt_done'
umass.o(.text+0xd8b):/usr/src/sys/dev/usb/storage/umass.c:3071: undefined refere
nce to `xpt_done'
umass.o(.text+0x2c83): In function `umass_attach':
/usr/src/sys/dev/usb/storage/umass.c:2102: undefined reference to `cam_simq_allo
c'
umass.o(.text+0x2cd3):/usr/src/sys/dev/usb/storage/umass.c:2106: undefined refer
ence to `cam_sim_alloc'
umass.o(.text+0x2d20):/usr/src/sys/dev/usb/storage/umass.c:2128: undefined refer
umass.o(.text+0x2d20):/usr/src/sys/dev/usb/storage/umass.c:2128: undefined refer
ence to `xpt_bus_register'
umass.o(.text+0x3048):/usr/src/sys/dev/usb/storage/umass.c:2187: undefined refer
ence to `xpt_periph'
umass.o(.text+0x3057):/usr/src/sys/dev/usb/storage/umass.c:2187: undefined refer
ence to `xpt_create_path'
umass.o(.text+0x319e):/usr/src/sys/dev/usb/storage/umass.c:2119: undefined refer
ence to `cam_simq_free'
umass.o(.text+0x322b):/usr/src/sys/dev/usb/storage/umass.c:2196: undefined refer
ence to `xpt_setup_ccb'
umass.o(.text+0x3248):/usr/src/sys/dev/usb/storage/umass.c:2200: undefined refer
ence to `xpt_action'
umass.o(.text+0x32b5): In function `umass_cam_rescan_callback':
/usr/src/sys/dev/usb/storage/umass.c:2163: undefined reference to `xpt_free_path
'
umass.o(.text+0x338b): In function `umass_cam_action':
/usr/src/sys/dev/usb/storage/umass.c:2266: undefined reference to `xpt_done'
umass.o(.text+0x347b):/usr/src/sys/dev/usb/storage/umass.c:2570: undefined refer
ence to `xpt_done'
umass.o(.text+0x34ca):/usr/src/sys/dev/usb/storage/umass.c:2317: undefined refer
ence to `xpt_done'
umass.o(.text+0x35ab):/usr/src/sys/dev/usb/storage/umass.c:2534: undefined refer
ence to `xpt_done'
umass.o(.text+0x36b2):/usr/src/sys/dev/usb/storage/umass.c:2353: undefined refer
ence to `xpt_done'
umass.o(.text+0x388d):/usr/src/sys/dev/usb/storage/umass.c:2549: undefined refer
ence to `cam_calc_geometry'
umass.o(.text+0x3895):/usr/src/sys/dev/usb/storage/umass.c:2550: undefined refer
ence to `xpt_done'
umass.o(.text+0x3947):/usr/src/sys/dev/usb/storage/umass.c:2512: undefined refer
ence to `xpt_done'
umass.o(.text+0x3ca4):/usr/src/sys/dev/usb/storage/umass.c:2443: undefined refer
ence to `xpt_done'
umass.o(.text+0x3d0c):/usr/src/sys/dev/usb/storage/umass.c:2421: undefined refer
ence to `xpt_done'
umass.o(.text+0xe05): In function `umass_cam_quirk_cb':
/usr/src/sys/dev/usb/storage/umass.c:2787: undefined reference to `xpt_done'
umass.o(.text+0xea1):/usr/src/sys/dev/usb/storage/umass.c:1616: more undefined r
eferences to `xpt_done' follow
*** Error code 1

Stop in /usr/obj/usr/src/sys/newkernel.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
How can I solve this and what is the problem?
Reply With Quote