2.1.78: linking errors with MAD16 sound, and possible problem with , makefile

Trevor Johnson (trevor@jpj.net)
Thu, 8 Jan 1998 04:47:32 -0800 (PST)


I'm trying to compile a kernel for a computer with a Mozart/Oak sound card
(which works with Linux 2.0). By doing "make oldconfig" followed by "make
dep clean zImage" on a copy of 2.1.78 with no changes other than
commenting out "SMP = 1" in the top-level Makefile, I can get these
errors:

ld -m elf_i386 -T /usr/sys/linux/arch/i386/vmlinux.lds -e stext
arch/i386/kernel/head.o arch/i386/kernel/init_task.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 \
fs/filesystems.a \
net/network.a \
drivers/block/block.a drivers/char/char.a drivers/misc/misc.a
drivers/net/net.a drivers/cdrom/cdrom.a drivers/sound/sound.a \
/usr/sys/linux/arch/i386/lib/lib.a /usr/sys/linux/lib/lib.a
/usr/sys/linux/arch/i386/lib/lib.a \
-o vmlinux
drivers/sound/sound.a(dev_table.o)(.data+0x110): undefined reference to
`attach_sb_card'
drivers/sound/sound.a(dev_table.o)(.data+0x114): undefined reference to
`probe_sb'
drivers/sound/sound.a(dev_table.o)(.data+0x118): undefined reference to
`unload_sb'
drivers/sound/sound.a(dev_table.o)(.data+0x12c): undefined reference to
`attach_sb_card'
drivers/sound/sound.a(dev_table.o)(.data+0x130): undefined reference to
`probe_sb'
drivers/sound/sound.a(dev_table.o)(.data+0x134): undefined reference to
`unload_sb'
drivers/sound/sound.a(dev_table.o)(.data+0x148): undefined reference to
`attach_sbmpu'
drivers/sound/sound.a(dev_table.o)(.data+0x14c): undefined reference to
`probe_sbmpu'
drivers/sound/sound.a(dev_table.o)(.data+0x150): undefined reference to
`unload_sbmpu'
drivers/sound/sound.a(mad16.o): In function `wss_init':
mad16.o(.text+0x3a2): undefined reference to `ad1848_detect'
drivers/sound/sound.a(mad16.o): In function `probe_mad16':
mad16.o(.text+0x761): undefined reference to `ad1848_detect'
drivers/sound/sound.a(mad16.o): In function `attach_mad16':
mad16.o(.text+0x873): undefined reference to `ad1848_detect'
mad16.o(.text+0x96b): undefined reference to `ad1848_init'
drivers/sound/sound.a(mad16.o): In function `attach_mad16_mpu':
mad16.o(.text+0x9cf): undefined reference to `sb_dsp_init'
drivers/sound/sound.a(mad16.o): In function `probe_mad16_mpu':
mad16.o(.text+0xb1d): undefined reference to `sb_dsp_detect'
drivers/sound/sound.a(mad16.o): In function `unload_mad16':
mad16.o(.text+0xc0a): undefined reference to `ad1848_unload'
drivers/sound/sound.a(mad16.o): In function `unload_mad16_mpu':
mad16.o(.text+0xc3f): undefined reference to `sb_dsp_unload'
make: *** [vmlinux] Error 1

Here's the configuration I'm using:

CONFIG_EXPERIMENTAL=y
CONFIG_M486=y
CONFIG_MODULES=y
CONFIG_KERNELD=y
CONFIG_NET=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_ELF=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_PARIDE_PARPORT=m
CONFIG_PACKET=m
CONFIG_FIREWALL=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_VERBOSE=y
CONFIG_IP_TRANSPARENT_PROXY=y
CONFIG_IP_ALWAYS_DEFRAG=y
CONFIG_IP_MASQUERADE=y
CONFIG_IP_MASQUERADE_IPAUTOFW=m
CONFIG_IP_MASQUERADE_IPPORTFW=m
CONFIG_IP_NOSR=y
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_NE2000=y
CONFIG_PPP=y
CONFIG_CDROM=y
CONFIG_MINIX_FS=m
CONFIG_EXT2_FS=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_PROC_FS=y
CONFIG_NFS_FS=m
CONFIG_NFSD=m
CONFIG_SUNRPC=m
CONFIG_LOCKD=m
CONFIG_SMB_FS=m
CONFIG_SMB_WIN95=y
CONFIG_AUTOFS_FS=m
CONFIG_NLS=y
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_ISO8859_1=m
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_PRINTER=m
CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
CONFIG_PC110_PAD=m
CONFIG_SOUND=y
CONFIG_ADLIB=m
CONFIG_MAD16=y
MAD16_BASE=530
MAD16_IRQ=11
MAD16_DMA=3
MAD16_DMA2=0
MAD16_MPU_BASE=330
MAD16_MPU_IRQ=9
CONFIG_SOFTOSS=m
CONFIG_YM3812=y
CONFIG_VGA_CONSOLE=y

I get identical errors with CONFIG_ADLIB and CONFIG_SOFTOSS unset.

I'm using gcc 2.7.2.3 and GNU binutils 2.8.1.

I also noticed three of these messages:

/usr/sys/linux/Rules.make:231: target `adlib_card.o' given more than once
in the same rule.
___
Trevor Johnson