From alsa-user-owner@alsa.jcu.cz  Sun Nov 22 12:07:25 1998
Received: from nurock.kek.jp (root@nurock.kek.jp [130.87.218.140])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id MAA11829
	for <alsa-user@jcu.cz>; Sun, 22 Nov 1998 12:03:08 +0100
Received: from nurock.kek.jp (really [127.0.0.1]) by nurock.kek.jp
	via in.smtpd with esmtp (ident sharkey using rfc1413)
	id <m0zhXBr-000TJXC@nurock.kek.jp> (Debian Smail3.2.0.101)
	for <alsa-user@jcu.cz>; Sun, 22 Nov 1998 19:56:27 +0900 (JST) 
Message-Id: <m0zhXBr-000TJXC@nurock.kek.jp>
To: alsa-user@jcu.cz
cc: rsankara@sparc2000.utsi.edu
From: sharkey@ale.physics.sunysb.edu
Subject: Re: Audio PCI 1371.. installation help needed 
In-reply-to: Your message of "Sun, 22 Nov 1998 03:40:01 CST."
             <3657DBF1.DDED479@utsi.edu> 
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Sun, 22 Nov 1998 19:56:26 +0900
Reply-To: alsa-user@alsa.jcu.cz
Sender: alsa-user-owner@alsa.jcu.cz
Precedence: list

> When i run modprobe snd-audiopci
> It gives a long list of unresolved symbols.. like
> 
> unresolved symbol snd_mixer_unregister_R528fad3f
>  unresolved symbol snd_rawmidi_register_R03bbfefc
>   unresolved symbol snd_card_new_R202d12b4
> etc.......
> 
> It gives quite a list of these unresolved symbols.
> What do I have to do .. ????
> 
> I am a novice to this.. And  I will be grateful to any help

I'm not quite sure why this is happening, but this happens when a symbol (or
variable) is defined in one module and used in another.  If the module
where it is defined is loaded first, then there's no problem, but if you
try to load the module where it's used, without loading the module where
it's defined first, you get an unresolved symbol error.

There's a command called "nm" which will show you what symbols are used and
defined by each module.  You can use it like this:

nurock% nm -o *.o | grep snd_mixer_unregister
snd-audiodrive1688.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-audiopci.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-card-cs4232.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-card-cs4236.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-gusclassic.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-gusextreme.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-gusmax.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-interwave-stb.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-interwave.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-mixer.o:000000f1 ? __kstrtab_snd_mixer_unregister_Rsmp_b184a07c
snd-mixer.o:00000038 ? __ksymtab_snd_mixer_unregister_Rsmp_b184a07c
snd-mixer.o:00003010 T snd_mixer_unregister_Rsmp_b184a07c
snd-mozart.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-opl3sa.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-sb16.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-sb8.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-sbawe.o:         U snd_mixer_unregister_Rsmp_b184a07c
snd-sonicvibes.o:         U snd_mixer_unregister_Rsmp_b184a07c


The "U" means that that symbol is referenced but undefined.  The modules with
a "U" all depend on "snd-mixer.o" being loaded first because snd-mixer.o is 
where the symbol is actually defined (it has a "T").

So, if "modprobe snd-audiopci" is reporting "unresolved symbol
snd_mixer_unregister_R528fad3f", then that means that the kernel is trying to
load the audiopci module without loading the mixer module first.

The question is, why is this happening?

I'd recommend rerunning depmod on all the modules to recalculate thier
dependencies.  If the dependency information is out of date or just plain
missing, modprobe should just start working after you run depmod.

If that doesn't work, try running the utils/insert script, which explicitly
loads all of the required modules manually.

Eric


