Created attachment 75901 [details] Patch to call dlerror() in bind_now_open() for better reporting of module loading problems If a module exists, but some of the symbols in it can't be resolved, the following happens: E: [] module.c: Failed to open module "module-coreaudio-detect": file not found Even though the file is clearly present in the modules directory. This is very confusing. This is because bind_now_open() in src/daemon/ltdl-bind-now.c assumes any problem with dlopen is due to a missing file. The attached patch makes it call dlerror() to report something more useful.
Thanks for the patch! (In reply to comment #0) > This is because bind_now_open() in src/daemon/ltdl-bind-now.c assumes any > problem with dlopen is due to a missing file. There's no such assumption. bind_now_open() sets the error to LT_ERROR_CANNOT_OPEN, which should map to error message "can't open the module". Apparently libltdl resets the error to LT_ERROR_FILE_NOT_FOUND. Would you be willing to investigate why that happens? It may be a bug in libltdl or in the way that pulseaudio uses it.
Judging from the lack of response, I guess that you're not willing to do deeper investigation on this bug. I sent to the mailing list a patch that contains your change and also removes the message returned by lt_dlerror() in module.c: http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/16126
Fixed: http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=cfb609d4f6ddb8270f85ed0fd0c824be2e21469f http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=dc68fcb33f04e3b1420495a2c0a5e61b41e70d1b
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.