--- xine-lib-1.1.1/src/xine-engine/load_plugins.c.~1~ 2005-09-19 09:14:02.000000000 -0700 +++ xine-lib-1.1.1/src/xine-engine/load_plugins.c 2006-04-22 23:07:33.000000000 -0700 @@ -591,7 +591,7 @@ static void collect_plugins(xine_t *this printf("load_plugins: %s not cached\n", str); #endif - if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL)) == NULL) { + if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) { const char *error = dlerror(); /* too noisy -- but good to catch unresolved references */ xprintf(this, XINE_VERBOSITY_LOG, @@ -649,7 +649,7 @@ static int _load_plugin_class(xine_t *th /* load the dynamic library if needed */ if (!node->file->lib_handle) { lprintf("dlopen %s\n", filename); - if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL)) == NULL) { + if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) { const char *error = dlerror(); xine_log (this, XINE_LOG_PLUGIN,