diff --git a/src/plugins/select/bgq/select_bgq.cc b/src/plugins/select/bgq/select_bgq.cc index 32cdbb8be46d46c85967d24fc756535962ece109..a5cf091cf5202669876da9318591cf91b116035d 100644 --- a/src/plugins/select/bgq/select_bgq.cc +++ b/src/plugins/select/bgq/select_bgq.cc @@ -60,13 +60,13 @@ slurmdb_cluster_rec_t *working_cluster_rec = NULL; extern "C" { -/* for some reason the extern "C" wrap above doesn't work for these - * const vars, so we have to explicitly set it for each one. +/* In C++ const objects have internal linkage by default so we have to + * do an extra extern here to make them export correctly. */ -extern "C" const char plugin_name[] = "BG/Q node selection plugin"; -extern "C" const char plugin_type[] = "select/bgq"; -extern "C" const uint32_t plugin_id = 103; -extern "C" const uint32_t plugin_version = 100; +extern const char plugin_name[] = "BG/Q node selection plugin"; +extern const char plugin_type[] = "select/bgq"; +extern const uint32_t plugin_id = 103; +extern const uint32_t plugin_version = 100; /* * init() is called when the plugin is loaded, before any other functions