Kernel config won't link

Steve Cohen (stevecoh@mcs.com)
Fri, 22 Jan 1999 03:51:31 -0600


William:

I saw your name in the MAINTAINERS file. Although this concerns make
xconfig rather than make menuconfig, yours was the closest name in the
file to my problem. If someone else is more appropriate to ask about
this, perhaps you might know who that is.

I am trying to build a custom kernel of 2.0.36-3.
I have made NO changes to any source file or make file.
The only thing I have done is to run make XCONFIG, producing the
attached .config file.
I have the source and kernel headers for 2.0.36-3 downloaded via RPMs.

When I try to build to this config, all compiles successfully but fails
on the link. See the relevant error messages below.

I am sort of a linux newbie although not new to programming. I have
successfully built a custom linux kernel before. Can you confirm that
this a bug and suggest a workaround config? I would like, if possible,
to avoid trial and error (random turning things on and off) just to
debug this problem. I am not really sure where to begin.

Thank you,
Steve Cohen
-------------------------------------------------------------------

ld -m elf_i386 -Ttext 0x100000 -e stext arch/i386/kernel/head.o
init/main.o init/version.o \
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o
fs/fs.o ipc/ipc.o net/network.a \
fs/filesystems.a \
drivers/block/block.a drivers/char/char.a drivers/net/net.a
drivers/pci/pci.a \
/usr/src/linux-2.0.36/arch/i386/lib/lib.a
/usr/src/linux-2.0.36/lib/lib.a
/usr/src/linux-2.0.36/arch/i386/lib/lib.a -o vmlinux
init/main.o(.data+0x120): undefined reference to `scsi_luns_setup'
init/main.o(.data+0x128): undefined reference to `bmouse_setup'
init/main.o(.data+0x130): undefined reference to `msmouse_setup'
init/main.o(.data+0x138): undefined reference to `AM53C974_setup'
arch/i386/kernel/kernel.o: In function `dump_fpu':
arch/i386/kernel/kernel.o(.text+0x73c): undefined reference to
`softreg_to_hardreg'
arch/i386/kernel/kernel.o(.text+0x774): undefined reference to
`softreg_to_hardreg'
arch/i386/kernel/kernel.o: In function `restore_i387':
arch/i386/kernel/kernel.o(.text+0x9b2): undefined reference to
`restore_i387_soft'
arch/i386/kernel/kernel.o: In function `save_i387':
arch/i386/kernel/kernel.o(.text+0xc06): undefined reference to
`save_i387_soft'
arch/i386/kernel/kernel.o: In function `do_signal':
arch/i386/kernel/kernel.o(.text+0x1315): undefined reference to
`math_emulate'
arch/i386/kernel/kernel.o: In function `write_emulator_word':
arch/i386/kernel/kernel.o(.text+0x5ad1): undefined reference to
`softreg_to_hardreg'
arch/i386/kernel/kernel.o(.text+0x5aed): undefined reference to
`softreg_to_hardreg'
arch/i386/kernel/kernel.o(.text+0x5aff): undefined reference to
`hardreg_to_softreg'
arch/i386/kernel/kernel.o(.text+0x5b16): undefined reference to
`hardreg_to_softreg'
arch/i386/kernel/kernel.o: In function `get_emulator_word':
arch/i386/kernel/kernel.o(.text+0x5b7b): undefined reference to
`softreg_to_hardreg'
arch/i386/kernel/kernel.o(.text+0x5b8f): undefined reference to
`softreg_to_hardreg'
net/network.a(socket.o): In function `sock_init':
socket.o(.text+0x2602): undefined reference to `fwchain_init'
net/network.a(protocols.o)(.data+0x24): undefined reference to
`rif_init'
net/network.a(core.o): In function `dev_ifsioc':
core.o(.text+0x1df2): undefined reference to `net_alias_dev_get'
core.o(.text+0x20f3): undefined reference to `net_alias_dev_rehash'
net/network.a(core.o): In function `net_dev_init':
core.o(.text+0x2658): undefined reference to `net_alias_init'
net/network.a(core.o)(.data+0x20): undefined reference to
`sysctl_net_alias_max'
net/network.a(core.o)(.data+0x30): undefined reference to
`proc_do_net_alias_max'
net/network.a(ipv4.o): In function `ip_rcv':
ipv4.o(.text+0x2c73): undefined reference to `net_alias_dev_rx32'
ipv4.o(.text+0x2d2e): undefined reference to `call_in_firewall'
ipv4.o(.text+0x2ec1): undefined reference to `ip_fw_demasquerade'
ipv4.o(.text+0x3068): undefined reference to `ipmr_forward'
net/network.a(ipv4.o): In function `ip_forward':
ipv4.o(.text+0x3ee8): undefined reference to `ip_fw_masq_icmp'
ipv4.o(.text+0x3f08): undefined reference to `call_fw_firewall'
ipv4.o(.text+0x3fd5): undefined reference to `ip_fw_masquerade'
ipv4.o(.text+0x42ec): undefined reference to `call_out_firewall'
net/network.a(ipv4.o): In function `ip_queue_xmit':
ipv4.o(.text+0x5994): undefined reference to `call_out_firewall'
net/network.a(ipv4.o): In function `ip_build_xmit':
ipv4.o(.text+0x6157): undefined reference to `call_out_firewall'
ipv4.o(.text+0x671b): undefined reference to `call_out_firewall'
ipv4.o(.text+0x67d9): undefined reference to `ipmr_forward'
net/network.a(ipv4.o): In function `ip_setsockopt':
ipv4.o(.text+0x6b9b): undefined reference to `ip_mroute_setsockopt'
net/network.a(ipv4.o): In function `ip_getsockopt':
ipv4.o(.text+0x72d4): undefined reference to `ip_mroute_getsockopt'
net/network.a(ipv4.o): In function `tcp_do_retransmit':
ipv4.o(.text+0xd0ec): undefined reference to `call_out_firewall'
net/network.a(ipv4.o): In function `raw_close':
ipv4.o(.text+0xeee6): undefined reference to `mroute_close'
net/network.a(ipv4.o): In function `arp_rcv':
ipv4.o(.text+0x11a63): undefined reference to `net_alias_dev_rx32'
net/network.a(ipv4.o): In function `inet_proto_init':
ipv4.o(.text+0x147a4): undefined reference to `ip_mr_init'
net/network.a(ipv4.o): In function `ip_fw_ctl':
ipv4.o(.text+0x15fa1): undefined reference to `ip_masq_expire'
ipv4.o(.text+0x15faf): undefined reference to `ip_masq_expire'
ipv4.o(.text+0x15fc2): undefined reference to `ip_masq_expire'
net/network.a(ipv4.o): In function `ip_fw_init':
ipv4.o(.text+0x1649a): undefined reference to `register_firewall'
ipv4.o(.text+0x164e7): undefined reference to `ip_masq_init'
net/network.a(ipv4.o)(.data+0x2f8): undefined reference to `ipmr_ioctl'
net/network.a(netsyms.o)(.data+0x12c): undefined reference to
`tr_type_trans'
net/network.a(netsyms.o)(.data+0x144): undefined reference to
`register_net_alias_type'
net/network.a(netsyms.o)(.data+0x14c): undefined reference to
`unregister_net_alias_type'
fs/filesystems.a(proc.o): In function `get_root_array':
proc.o(.text+0x2fbe): undefined reference to `get_md_status'
drivers/block/block.a(ll_rw_blk.o): In function `ll_rw_block':
ll_rw_blk.o(.text+0x950): undefined reference to `md_map'
ll_rw_blk.o(.text+0x9d8): undefined reference to `md_make_request'
drivers/block/block.a(ll_rw_blk.o): In function `ll_rw_swap_file':
ll_rw_blk.o(.text+0xba8): undefined reference to `md_map'
drivers/block/block.a(ll_rw_blk.o): In function `blk_dev_init':
ll_rw_blk.o(.text+0xe85): undefined reference to `cdi_init'
ll_rw_blk.o(.text+0xe94): undefined reference to `md_init'
drivers/block/block.a(genhd.o): In function `device_setup':
genhd.o(.text+0x7a1): undefined reference to `scsi_dev_init'
drivers/block/block.a(ide.o): In function `ide_geninit':
ide.o(.text+0x84b): undefined reference to `idetape_setup'
drivers/block/block.a(ide.o): In function `ide_error':
ide.o(.text+0x12cb): undefined reference to `idetape_end_request'
drivers/block/block.a(ide.o): In function `ide_do_request':
ide.o(.text+0x1ea4): undefined reference to `idetape_do_request'
drivers/block/block.a(ide.o): In function `ide_open':
ide.o(.text+0x25b9): undefined reference to `idetape_blkdev_open'
drivers/block/block.a(ide.o): In function `ide_release':
ide.o(.text+0x2699): undefined reference to `idetape_blkdev_release'
drivers/block/block.a(ide.o): In function `ide_ioctl':
ide.o(.text+0x3103): undefined reference to `idetape_blkdev_ioctl'
drivers/block/block.a(ide.o): In function `try_to_identify':
ide.o(.text+0x367c): undefined reference to `idetape_identify_device'
drivers/block/block.a(ide.o): In function `ide_init':
ide.o(.text+0x5040): undefined reference to `idetape_register_chrdev'
drivers/char/char.a(misc.o): In function `misc_init':
misc.o(.text+0x224): undefined reference to `bus_mouse_init'
misc.o(.text+0x229): undefined reference to `psaux_init'
misc.o(.text+0x22e): undefined reference to `ms_bus_mouse_init'
misc.o(.text+0x233): undefined reference to `atixl_busmouse_init'
drivers/net/net.a(net_init.o): In function `tr_setup':
net_init.o(.text+0x3fa): undefined reference to `tr_header'
net_init.o(.text+0x404): undefined reference to `tr_rebuild_header'
make: *** [vmlinux] Error 1
[root@stevecoh linux]#

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

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# 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=y
# CONFIG_PCI_OPTIMIZE is not set
CONFIG_SYSVIPC=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_JAVA=y
CONFIG_KERNEL_ELF=y
CONFIG_M586=y
# CONFIG_MTRR is not set

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

#
# Please see Documentation/ide.txt 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_IDEFLOPPY=y
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_BLK_DEV_IDE_PCMCIA is not set
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_CMD640_ENHANCED=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_TRITON=y
# CONFIG_IDE_CHIPSETS is not set

#
# Additional Block Devices
#
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_HD is not set

#
# Networking options
#
# CONFIG_FIREWALL is not set
# CONFIG_NET_ALIAS is not set
CONFIG_INET=y
# CONFIG_IP_FORWARD is not set
# CONFIG_IP_MULTICAST is not set
CONFIG_SYN_COOKIES=y
# CONFIG_IP_ACCT is not set
# CONFIG_IP_ROUTER is not set
# CONFIG_NET_IPIP 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_IP_NOSR=y
CONFIG_SKB_LARGE=y

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

#
# SCSI support
#
CONFIG_SCSI=m

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y

#
# SCSI low-level drivers
#
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
CONFIG_SCSI_G_NCR5380_PORT=y
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_NCR53C8XX is not set
CONFIG_SCSI_PPA=m
CONFIG_SCSI_PPA_HAVE_PEDANTIC=y
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_GDTH is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_EQUALIZER is not set
# CONFIG_DLCI is not set
CONFIG_PLIP=m
CONFIG_PPP=m

#
# CCP compressors for PPP are only built as modules.
#
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
# CONFIG_SLIP_MODE_SLIP6 is not set
# CONFIG_NET_RADIO is not set
# CONFIG_NET_ETHERNET is not set
# CONFIG_TR is not set
# CONFIG_FDDI is not set
# CONFIG_ARCNET is not set
# CONFIG_SHAPER is not set
# CONFIG_RCPCI 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=m
CONFIG_EXT2_FS=y
# CONFIG_XIA_FS is not set
CONFIG_NLS=y
CONFIG_ISO9660_FS=m
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_UMSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_KOI8_R=m
CONFIG_PROC_FS=y
# CONFIG_NFS_FS is not set
CONFIG_SMB_FS=m
CONFIG_SMB_WIN95=y
# CONFIG_HPFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AFFS_FS is not set
CONFIG_UFS_FS=m
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_SMD_DISKLABEL is not set

#
# Character devices
#
CONFIG_SERIAL=y
# CONFIG_DIGI is not set
# CONFIG_CYCLADES is not set
# CONFIG_STALDRV is not set
# CONFIG_RISCOM8 is not set
CONFIG_PRINTER=m
# CONFIG_SPECIALIX is not set
CONFIG_MOUSE=y
# CONFIG_ATIXL_BUSMOUSE is not set
# CONFIG_BUSMOUSE is not set
CONFIG_MS_BUSMOUSE=m
CONFIG_PSMOUSE=m
# CONFIG_82C710_MOUSE is not set
# CONFIG_UMISC is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_FTAPE is not set
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_POWER_OFF is not set
# CONFIG_APM_IGNORE_MULTIPLE_SUSPEND is not set
# CONFIG_WATCHDOG is not set
CONFIG_RTC=y

#
# Sound
#
CONFIG_SOUND=m
# CONFIG_SOUND_ES1370 is not set
# CONFIG_SOUND_ES1371 is not set
# CONFIG_SOUND_SONICVIBES is not set
# CONFIG_SOUND_MSNDCLAS is not set
# CONFIG_SOUND_MSNDPIN is not set
CONFIG_SOUND_OSS=m
# CONFIG_SOUND_PAS is not set
CONFIG_SOUND_SB=m
CONFIG_SOUND_ADLIB=m
CONFIG_SOUND_GUS=m
CONFIG_GUS16=y
CONFIG_GUSMAX=y
# CONFIG_SOUND_MPU401 is not set
# CONFIG_SOUND_PSS is not set
# CONFIG_SOUND_MSS is not set
# CONFIG_SOUND_SSCAPE is not set
# CONFIG_SOUND_TRIX is not set
# CONFIG_SOUND_MAD16 is not set
# CONFIG_SOUND_CS4232 is not set
# CONFIG_SOUND_OPL3SA2 is not set
# CONFIG_SOUND_MAUI is not set
# CONFIG_SOUND_SGALAXY is not set
CONFIG_SOUND_OPL3SA1=m
CONFIG_SOUND_SOFTOSS=m
CONFIG_SOUND_YM3812=m
CONFIG_SOUND_VMIDI=m
# CONFIG_SOUND_UART6850 is not set

#
# Additional low level sound drivers
#
# CONFIG_LOWLEVEL_SOUND is not set

#
# Kernel hacking
#
# CONFIG_PROFILE is not set

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/