On Tue, 17 Sep 2002, Juergen Kreileder wrote:
> Tim Goetze <[EMAIL PROTECTED]> writes:
>
> > Florian Bomers wrote:
> >
> >>Why does this happen ? I searched the mailing list archive and only
> >>found an explanation that symbols don't match and I need to
> >>recompile the ALSA lib. In my case it's a clean install of ALSA on a
> >>newly installed red hat system. There was never any other version of
> >>ALSA.
> >
> > you probably are calling alsa from a shared object -- try
> >
> > dlopen ("libasound.so", RTLD_LAZY | RTLD_GLOBAL);
> >
> > in your module's init function.
>
> The need for RTLD_GLOBAL is somewhat ugly, usually one wants to load
> plugins with RTLD_LOCAL. E.g. Java's System.load()/loadLibrary()
> doesn't use RTLD_GLOBAL. We could make a special case for ALSA in our
> Java implementation but that won't help people running JMF with
> another JVM.
>
> Is there any reason ALSA can't do something like
>
> if (name == NULL) {
> Dl_info dlinfo;
> static int dummy;
> dladdr((void *) &dummy, &dlinfo);
> name = dlinfo.dli_fname;
> }
>
> in snd_dlopen()? This would fix the snd_dlopen(NULL, ...) problem
> when the ALSA library has been dlopened with RTLD_LOCAL and the
> symbols are unknown in the main program.
Nice fix. Applied.
Jaroslav
-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project http://www.alsa-project.org
SuSE Linux http://www.suse.com
-------------------------------------------------------
Sponsored by: AMD - Your access to the experts on Hammer Technology!
Open Source & Linux Developers, register now for the AMD Developer
Symposium. Code: EX8664 http://www.developwithamd.com/developerlab
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel