Date: Fri, 27 Mar 1998 11:47:15 +1030 From: Greg Lehey <grog@lemis.com> To: Ashby Gochenour <ashby@seven7.net>, freebsd-questions@FreeBSD.ORG Subject: Re: kernel compile Message-ID: <19980327114715.52787@freebie.lemis.com> In-Reply-To: <351A200D.60E7A416@seven7.net>; from Ashby Gochenour on Thu, Mar 26, 1998 at 04:29:49AM -0500 References: <351A200D.60E7A416@seven7.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 26 March 1998 at 4:29:49 -0500, Ashby Gochenour wrote:
> I have been trying to compile my kernel for days.
> I am hung up on my sound card source, I think.
>
> But I do not know what to edit to fix this problem.
>
> FS -DINET -DKERNEL swapkernel.c
> sh ../../conf/newvers.sh VA -DDPT_TIMEOUT_FACTOR=4 -DDPTOPT -DNFS
> -DFAILSAFE -DCOMPAT_43 -DMSDOSFS -DNFS -DFFS -DINET
> cc -O -Wreturn-type -Wcomment -Wredundant-decls -Wimplicit
> -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-ari
>
> th -nostdinc -I- -I. -I../.. -I../../../include -DDPT_TIMEOUT_FACTOR=4
> -DDPTOPT -DNFS -DFAILSAFE -DCOMPAT_43 -DMSDOSFS -DNFS -DFFS
> -DINET -DKERNEL -c vers.c
> loading kernel
> machdep.o: Undefined symbol `_dptisr_set' referenced from text segment
> ioconf.o: Undefined symbol `_opldriver' referenced from data segment
> ioconf.o: Undefined symbol `_gunsintr' referenced from data segment
> *** Error code 1
I suppose we should do a FAQ entry for this kind of problem, once we
understand what to say.
These "Undefined symbol" messages usually point to a missing module in
the list of object files to be included in the kernel. That in turn
usually points to a missing entry in the configuration file.
Let's see... the first thing to do would be to search for one of the
names in the kernel sources:
$ find /sys -follow -name "*.c" | xargs grep gunsintr
$ find /sys -follow -name "*.c" | xargs grep opldriver
/sys/i386/isa/sound/soundcard.c:struct isa_driver opldriver = {sndprobe, sndattach, "opl"};
/sys/i386/isa/sound/soundcard.c: if (driver == &opldriver)
Hmmm. Is gunsintr really the name? Anyway, we've established that we
you probably don't have soundcard.o in your kernel build list. Next,
let's see what module requires it:
$ grep soundcard.c /sys/i386/conf/files.i386
i386/isa/sound/soundcard.c optional snd device-driver
The 'device-driver' at the end of the line suggests that you should be
looking for a 'controller' entry in the config file entry. Look for
one in LINT like this:
$ grep "controller.*snd" /sys/i386/conf/LINT
controller snd0
So, try adding the line 'controller snd0' to your config file and try
again.
Greg
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980327114715.52787>
