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