Skip site navigation (1)Skip section navigation (2)
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>