diff --git a/src/plugins/select/bluegene/plugin/select_bluegene.c b/src/plugins/select/bluegene/plugin/select_bluegene.c index 9b6cc45508d9f4c7f6c87f1882de7b8cf388296d..2e013e34be7d16b2a01d69bd7504a210d2d6c9ad 100644 --- a/src/plugins/select/bluegene/plugin/select_bluegene.c +++ b/src/plugins/select/bluegene/plugin/select_bluegene.c @@ -104,6 +104,18 @@ extern int select_p_alter_node_cnt(enum select_node_cnt type, void *data); */ extern int init ( void ) { +#ifdef HAVE_BG_FILES + char *lib_path = getenv("LD_LIBRARY_PATH"); + char *new_libpath = xstrdup("LD_LIBRARY_PATH="); + + if(lib_path) + xstrfmtcat(new_libpath, "%s:", lib_path); + + xstrcat(new_libpath, BG_LIB_PATH); + putenv(new_libpath); + xfree(new_libpath); +#endif + #ifndef HAVE_BG fatal("Plugin select/bluegene is illegal on non-BlueGene computers"); #endif @@ -124,6 +136,7 @@ extern int init ( void ) if ((SELECT_COPROCESSOR_MODE != RM_PARTITION_COPROCESSOR_MODE) || (SELECT_VIRTUAL_NODE_MODE != RM_PARTITION_VIRTUAL_NODE_MODE)) fatal("enum node_use_type out of sync with rm_api.h"); + #endif verbose("%s loading...", plugin_name);