Hello there!

    Compiling source of SLURM 2.2.3 requires c++ compiler but really it
isn't required because file src/plugins/select/bgq/select_bgq.cc isn't
C++ source file but plain C instead so to get rid of that requirement is
simple:
1) rename src/plugins/select/bgq/select_bgq.cc into select_bgq.c;
2) adapt Makefile.am and bgq.h in src/plugins/select/bgq/ directory to
that change.
Patch attached. Thank you.

    Andriy.
 src/plugins/select/bgq/Makefile.am   |    2 +-
 src/plugins/select/bgq/bgq.h         |    5 -
 src/plugins/select/bgq/select_bgq.c  |  423 +++++++++++++++++++++++++++++++++
 src/plugins/select/bgq/select_bgq.cc |  427 ----------------------------------
 4 files changed, 424 insertions(+), 433 deletions(-)

diff --git a/src/plugins/select/bgq/Makefile.am b/src/plugins/select/bgq/Makefile.am
index 75edd24..ea73668 100644
--- a/src/plugins/select/bgq/Makefile.am
+++ b/src/plugins/select/bgq/Makefile.am
@@ -10,6 +10,6 @@ INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src/common $(BG_INCLUDES)
 pkglib_LTLIBRARIES = select_bgq.la
 
 # Linear node selection plugin.
-select_bgq_la_SOURCES = select_bgq.cc bgq.h
+select_bgq_la_SOURCES = select_bgq.c bgq.h
 select_bgq_la_LDFLAGS = $(SO_LDFLAGS) $(PLUGIN_FLAGS)
 
diff --git a/src/plugins/select/bgq/bgq.h b/src/plugins/select/bgq/bgq.h
index bf374ce..9a5e693 100644
--- a/src/plugins/select/bgq/bgq.h
+++ b/src/plugins/select/bgq/bgq.h
@@ -39,8 +39,6 @@
 #ifndef _BGQ_H_
 #define _BGQ_H_
 
-#include <iostream>
-
 #ifdef HAVE_CONFIG_H
 #  include "config.h"
 #  if HAVE_STDINT_H
@@ -62,11 +60,8 @@
 #  include <pthread.h>
 #endif				/* WITH_PTHREADS */
 
-extern "C" {
-
 #include "src/common/slurm_xlator.h"	/* Must be first */
 #include "src/common/macros.h"
 #include "src/slurmctld/slurmctld.h"
 
-}
 #endif /* _BGQ_H_ */
diff --git a/src/plugins/select/bgq/select_bgq.c b/src/plugins/select/bgq/select_bgq.c
new file mode 100644
index 0000000..cf31f66
--- /dev/null
+++ b/src/plugins/select/bgq/select_bgq.c
@@ -0,0 +1,423 @@
+/*****************************************************************************\
+ *  select_bgq.cc - node selection plugin for Blue Gene/Q system.
+ *****************************************************************************
+ *  Copyright (C) 2010 Lawrence Livermore National Security.
+ *  Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
+ *  Written by Danny Auble <[email protected]>
+ *  CODE-OCEC-09-009. All rights reserved.
+ *
+ *  This file is part of SLURM, a resource management program.
+ *  For details, see <https://computing.llnl.gov/linux/slurm/>.
+ *  Please also read the included file: DISCLAIMER.
+ *
+ *  SLURM is free software; you can redistribute it and/or modify it under
+ *  the terms of the GNU General Public License as published by the Free
+ *  Software Foundation; either version 2 of the License, or (at your option)
+ *  any later version.
+ *
+ *  In addition, as a special exception, the copyright holders give permission
+ *  to link the code of portions of this program with the OpenSSL library under
+ *  certain conditions as described in each individual source file, and
+ *  distribute linked combinations including the two. You must obey the GNU
+ *  General Public License in all respects for all of the code used other than
+ *  OpenSSL. If you modify file(s) with this exception, you may extend this
+ *  exception to your version of the file(s), but you are not obligated to do
+ *  so. If you do not wish to do so, delete this exception statement from your
+ *  version.  If you delete this exception statement from all source files in
+ *  the program, then also delete it here.
+ *
+ *  SLURM is distributed in the hope that it will be useful, but WITHOUT ANY
+ *  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ *  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+ *  details.
+ *
+ *  You should have received a copy of the GNU General Public License along
+ *  with SLURM; if not, write to the Free Software Foundation, Inc.,
+ *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA.
+\*****************************************************************************/
+
+
+#include "bgq.h"
+
+#define HUGE_BUF_SIZE (1024*16)
+#define NOT_FROM_CONTROLLER -2
+
+/* These are defined here so when we link with something other than
+ * the slurmctld we will have these symbols defined.  They will get
+ * overwritten when linking with the slurmctld.
+ */
+#if defined (__APPLE__)
+slurm_ctl_conf_t slurmctld_conf __attribute__((weak_import));
+struct node_record *node_record_table_ptr  __attribute__((weak_import)) = NULL;
+int bg_recover __attribute__((weak_import)) = NOT_FROM_CONTROLLER;
+List part_list  __attribute__((weak_import)) = NULL;
+int node_record_count __attribute__((weak_import));
+time_t last_node_update __attribute__((weak_import));
+time_t last_job_update __attribute__((weak_import));
+char *alpha_num  __attribute__((weak_import)) =
+	"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+void *acct_db_conn  __attribute__((weak_import)) = NULL;
+char *slurmctld_cluster_name  __attribute__((weak_import)) = NULL;
+slurmdb_cluster_rec_t *working_cluster_rec  __attribute__((weak_import)) = NULL;
+#else
+slurm_ctl_conf_t slurmctld_conf;
+struct node_record *node_record_table_ptr = NULL;
+int bg_recover = NOT_FROM_CONTROLLER;
+List part_list = NULL;
+int node_record_count;
+time_t last_node_update;
+time_t last_job_update;
+char *alpha_num = (char *)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+void *acct_db_conn = NULL;
+char *slurmctld_cluster_name = NULL;
+slurmdb_cluster_rec_t *working_cluster_rec = NULL;
+#endif
+
+/* In C++ const objects have internal linkage by default so we have to
+ * do an extra extern here to make them export correctly.
+ */
+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
+ * are called.  Put global initialization here.
+ */
+extern int init ( void )
+{
+
+#ifdef HAVE_BGQ
+	if(bg_recover != NOT_FROM_CONTROLLER) {
+#if (SYSTEM_DIMENSIONS != 4)
+		fatal("SYSTEM_DIMENSIONS value (%d) invalid for BGQ",
+		      SYSTEM_DIMENSIONS);
+#endif
+
+		verbose("%s loading...", plugin_name);
+		/* if this is coming from something other than the controller
+		   we don't want to read the config or anything like that. */
+	}
+	verbose("%s loaded", plugin_name);
+#else
+	if (bg_recover != NOT_FROM_CONTROLLER)
+		fatal("select/bgq is incompatible with a "
+		      "non BlueGene/Q system");
+#endif
+	return SLURM_SUCCESS;
+}
+
+extern int fini ( void )
+{
+	int rc = SLURM_SUCCESS;
+
+	return rc;
+}
+
+/*
+ * The remainder of this file implements the standard SLURM
+ * node selection API.
+ */
+
+/* We rely upon DB2 to save and restore BlueGene state */
+extern int select_p_state_save(char *dir_name)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_state_restore(char *dir_name)
+{
+#ifdef HAVE_BGQ
+	debug("bgq: select_p_state_restore");
+
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+/* Sync BG blocks to currently active jobs */
+extern int select_p_job_init(List job_list)
+{
+#ifdef HAVE_BGQ
+	int rc = SLURM_SUCCESS;
+	return rc;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+/* All initialization is performed by init() */
+extern int select_p_node_init(struct node_record *node_ptr, int node_cnt)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+/*
+ * Called by slurmctld when a new configuration file is loaded
+ * or scontrol is used to change block configuration
+ */
+ extern int select_p_block_init(List part_list)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+
+/*
+ * select_p_job_test - Given a specification of scheduling requirements,
+ *	identify the nodes which "best" satify the request. The specified
+ *	nodes may be DOWN or BUSY at the time of this test as may be used
+ *	to deterime if a job could ever run.
+ * IN/OUT job_ptr - pointer to job being scheduled start_time is set
+ *	when we can possibly start job.
+ * IN/OUT bitmap - usable nodes are set on input, nodes not required to
+ *	satisfy the request are cleared, other left set
+ * IN min_nodes - minimum count of nodes
+ * IN max_nodes - maximum count of nodes (0==don't care)
+ * IN req_nodes - requested (or desired) count of nodes
+ * IN mode - SELECT_MODE_RUN_NOW: try to schedule job now
+ *           SELECT_MODE_TEST_ONLY: test if job can ever run
+ *           SELECT_MODE_WILL_RUN: determine when and where job can run
+ * IN preemptee_candidates - List of pointers to jobs which can be preempted.
+ * IN/OUT preemptee_job_list - Pointer to list of job pointers. These are the
+ *		jobs to be preempted to initiate the pending job. Not set
+ *		if mode=SELECT_MODE_TEST_ONLY or input pointer is NULL.
+ * RET zero on success, EINVAL otherwise
+ * NOTE: bitmap must be a superset of req_nodes at the time that
+ *	select_p_job_test is called
+ */
+extern int select_p_job_test(struct job_record *job_ptr, bitstr_t *bitmap,
+			     uint32_t min_nodes, uint32_t max_nodes,
+			     uint32_t req_nodes, uint16_t mode,
+			     List preemptee_candidates,
+			     List *preemptee_job_list)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_job_begin(struct job_record *job_ptr)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_job_ready(struct job_record *job_ptr)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_job_resized(struct job_record *job_ptr,
+				struct node_record *node_ptr)
+{
+	return ESLURM_NOT_SUPPORTED;
+}
+
+extern int select_p_job_fini(struct job_record *job_ptr)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_job_suspend(struct job_record *job_ptr)
+{
+	return ESLURM_NOT_SUPPORTED;
+}
+
+extern int select_p_job_resume(struct job_record *job_ptr)
+{
+	return ESLURM_NOT_SUPPORTED;
+}
+
+extern int select_p_pack_select_info(time_t last_query_time,
+				     uint16_t show_flags, Buf *buffer_ptr,
+				     uint16_t protocol_version)
+{
+#ifdef HAVE_BGQ
+	return ESLURM_NOT_SUPPORTED;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_select_nodeinfo_pack(select_nodeinfo_t *nodeinfo,
+					 Buf buffer,
+					 uint16_t protocol_version)
+{
+	return ESLURM_NOT_SUPPORTED;
+}
+
+extern int select_p_select_nodeinfo_unpack(select_nodeinfo_t **nodeinfo,
+					   Buf buffer,
+					   uint16_t protocol_version)
+{
+	return ESLURM_NOT_SUPPORTED;
+}
+
+extern select_nodeinfo_t *select_p_select_nodeinfo_alloc(uint32_t size)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int select_p_select_nodeinfo_free(select_nodeinfo_t *nodeinfo)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int select_p_select_nodeinfo_set_all(time_t last_query_time)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int select_p_select_nodeinfo_set(struct job_record *job_ptr)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int select_p_select_nodeinfo_get(select_nodeinfo_t *nodeinfo,
+					enum select_nodedata_type dinfo,
+					enum node_states state,
+					void *data)
+{
+	return SLURM_SUCCESS;
+}
+
+select_jobinfo_t *select_p_select_jobinfo_alloc(void)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int select_p_select_jobinfo_set(select_jobinfo_t *jobinfo,
+				       enum select_jobdata_type data_type,
+				       void *data)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int select_p_select_jobinfo_get (select_jobinfo_t *jobinfo,
+				 enum select_jobdata_type data_type, void *data)
+{
+	return SLURM_SUCCESS;
+}
+
+extern select_jobinfo_t *select_p_select_jobinfo_copy(select_jobinfo_t *jobinfo)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int select_p_select_jobinfo_free  (select_jobinfo_t *jobinfo)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int  select_p_select_jobinfo_pack(select_jobinfo_t *jobinfo, Buf buffer,
+					 uint16_t protocol_version)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int  select_p_select_jobinfo_unpack(select_jobinfo_t **jobinfo,
+					   Buf buffer,
+					   uint16_t protocol_version)
+{
+	return SLURM_SUCCESS;
+}
+
+extern char *select_p_select_jobinfo_sprint(select_jobinfo_t *jobinfo,
+				     char *buf, size_t size, int mode)
+{
+	return SLURM_SUCCESS;
+}
+
+extern char *select_p_select_jobinfo_xstrdup(select_jobinfo_t *jobinfo,
+					     int mode)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int select_p_update_block (update_block_msg_t *block_desc_ptr)
+{
+#ifdef HAVE_BGQ
+	int rc = SLURM_SUCCESS;
+	return rc;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_update_sub_node (update_block_msg_t *block_desc_ptr)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_get_info_from_plugin (enum select_plugindata_info dinfo,
+					  struct job_record *job_ptr,
+					  void *data)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_update_node_config (int index)
+{
+	return SLURM_SUCCESS;
+}
+
+extern int select_p_update_node_state (int index, uint16_t state)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#endif
+	return SLURM_ERROR;
+}
+
+extern int select_p_alter_node_cnt(enum select_node_cnt type, void *data)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
+
+extern int select_p_reconfigure(void)
+{
+#ifdef HAVE_BGQ
+	return SLURM_SUCCESS;
+#else
+	return SLURM_ERROR;
+#endif
+}
diff --git a/src/plugins/select/bgq/select_bgq.cc b/src/plugins/select/bgq/select_bgq.cc
deleted file mode 100644
index d017bc0..0000000
--- a/src/plugins/select/bgq/select_bgq.cc
+++ /dev/null
@@ -1,427 +0,0 @@
-/*****************************************************************************\
- *  select_bgq.cc - node selection plugin for Blue Gene/Q system.
- *****************************************************************************
- *  Copyright (C) 2010 Lawrence Livermore National Security.
- *  Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
- *  Written by Danny Auble <[email protected]>
- *  CODE-OCEC-09-009. All rights reserved.
- *
- *  This file is part of SLURM, a resource management program.
- *  For details, see <https://computing.llnl.gov/linux/slurm/>.
- *  Please also read the included file: DISCLAIMER.
- *
- *  SLURM is free software; you can redistribute it and/or modify it under
- *  the terms of the GNU General Public License as published by the Free
- *  Software Foundation; either version 2 of the License, or (at your option)
- *  any later version.
- *
- *  In addition, as a special exception, the copyright holders give permission
- *  to link the code of portions of this program with the OpenSSL library under
- *  certain conditions as described in each individual source file, and
- *  distribute linked combinations including the two. You must obey the GNU
- *  General Public License in all respects for all of the code used other than
- *  OpenSSL. If you modify file(s) with this exception, you may extend this
- *  exception to your version of the file(s), but you are not obligated to do
- *  so. If you do not wish to do so, delete this exception statement from your
- *  version.  If you delete this exception statement from all source files in
- *  the program, then also delete it here.
- *
- *  SLURM is distributed in the hope that it will be useful, but WITHOUT ANY
- *  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- *  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
- *  details.
- *
- *  You should have received a copy of the GNU General Public License along
- *  with SLURM; if not, write to the Free Software Foundation, Inc.,
- *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA.
-\*****************************************************************************/
-
-
-#include "bgq.h"
-
-#define HUGE_BUF_SIZE (1024*16)
-#define NOT_FROM_CONTROLLER -2
-
-/* These are defined here so when we link with something other than
- * the slurmctld we will have these symbols defined.  They will get
- * overwritten when linking with the slurmctld.
- */
-#if defined (__APPLE__)
-slurm_ctl_conf_t slurmctld_conf __attribute__((weak_import));
-struct node_record *node_record_table_ptr  __attribute__((weak_import)) = NULL;
-int bg_recover __attribute__((weak_import)) = NOT_FROM_CONTROLLER;
-List part_list  __attribute__((weak_import)) = NULL;
-int node_record_count __attribute__((weak_import));
-time_t last_node_update __attribute__((weak_import));
-time_t last_job_update __attribute__((weak_import));
-char *alpha_num  __attribute__((weak_import)) =
-	"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-void *acct_db_conn  __attribute__((weak_import)) = NULL;
-char *slurmctld_cluster_name  __attribute__((weak_import)) = NULL;
-slurmdb_cluster_rec_t *working_cluster_rec  __attribute__((weak_import)) = NULL;
-#else
-slurm_ctl_conf_t slurmctld_conf;
-struct node_record *node_record_table_ptr = NULL;
-int bg_recover = NOT_FROM_CONTROLLER;
-List part_list = NULL;
-int node_record_count;
-time_t last_node_update;
-time_t last_job_update;
-char *alpha_num = (char *)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-void *acct_db_conn = NULL;
-char *slurmctld_cluster_name = NULL;
-slurmdb_cluster_rec_t *working_cluster_rec = NULL;
-#endif
-
-/* In C++ const objects have internal linkage by default so we have to
- * do an extra extern here to make them export correctly.
- */
-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;
-
-extern "C" {
-
-/*
- * init() is called when the plugin is loaded, before any other functions
- * are called.  Put global initialization here.
- */
-extern int init ( void )
-{
-
-#ifdef HAVE_BGQ
-	if(bg_recover != NOT_FROM_CONTROLLER) {
-#if (SYSTEM_DIMENSIONS != 4)
-		fatal("SYSTEM_DIMENSIONS value (%d) invalid for BGQ",
-		      SYSTEM_DIMENSIONS);
-#endif
-
-		verbose("%s loading...", plugin_name);
-		/* if this is coming from something other than the controller
-		   we don't want to read the config or anything like that. */
-	}
-	verbose("%s loaded", plugin_name);
-#else
-	if (bg_recover != NOT_FROM_CONTROLLER)
-		fatal("select/bgq is incompatible with a "
-		      "non BlueGene/Q system");
-#endif
-	return SLURM_SUCCESS;
-}
-
-extern int fini ( void )
-{
-	int rc = SLURM_SUCCESS;
-
-	return rc;
-}
-
-/*
- * The remainder of this file implements the standard SLURM
- * node selection API.
- */
-
-/* We rely upon DB2 to save and restore BlueGene state */
-extern int select_p_state_save(char *dir_name)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_state_restore(char *dir_name)
-{
-#ifdef HAVE_BGQ
-	debug("bgq: select_p_state_restore");
-
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-/* Sync BG blocks to currently active jobs */
-extern int select_p_job_init(List job_list)
-{
-#ifdef HAVE_BGQ
-	int rc = SLURM_SUCCESS;
-	return rc;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-/* All initialization is performed by init() */
-extern int select_p_node_init(struct node_record *node_ptr, int node_cnt)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-/*
- * Called by slurmctld when a new configuration file is loaded
- * or scontrol is used to change block configuration
- */
- extern int select_p_block_init(List part_list)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-
-/*
- * select_p_job_test - Given a specification of scheduling requirements,
- *	identify the nodes which "best" satify the request. The specified
- *	nodes may be DOWN or BUSY at the time of this test as may be used
- *	to deterime if a job could ever run.
- * IN/OUT job_ptr - pointer to job being scheduled start_time is set
- *	when we can possibly start job.
- * IN/OUT bitmap - usable nodes are set on input, nodes not required to
- *	satisfy the request are cleared, other left set
- * IN min_nodes - minimum count of nodes
- * IN max_nodes - maximum count of nodes (0==don't care)
- * IN req_nodes - requested (or desired) count of nodes
- * IN mode - SELECT_MODE_RUN_NOW: try to schedule job now
- *           SELECT_MODE_TEST_ONLY: test if job can ever run
- *           SELECT_MODE_WILL_RUN: determine when and where job can run
- * IN preemptee_candidates - List of pointers to jobs which can be preempted.
- * IN/OUT preemptee_job_list - Pointer to list of job pointers. These are the
- *		jobs to be preempted to initiate the pending job. Not set
- *		if mode=SELECT_MODE_TEST_ONLY or input pointer is NULL.
- * RET zero on success, EINVAL otherwise
- * NOTE: bitmap must be a superset of req_nodes at the time that
- *	select_p_job_test is called
- */
-extern int select_p_job_test(struct job_record *job_ptr, bitstr_t *bitmap,
-			     uint32_t min_nodes, uint32_t max_nodes,
-			     uint32_t req_nodes, uint16_t mode,
-			     List preemptee_candidates,
-			     List *preemptee_job_list)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_job_begin(struct job_record *job_ptr)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_job_ready(struct job_record *job_ptr)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_job_resized(struct job_record *job_ptr,
-				struct node_record *node_ptr)
-{
-	return ESLURM_NOT_SUPPORTED;
-}
-
-extern int select_p_job_fini(struct job_record *job_ptr)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_job_suspend(struct job_record *job_ptr)
-{
-	return ESLURM_NOT_SUPPORTED;
-}
-
-extern int select_p_job_resume(struct job_record *job_ptr)
-{
-	return ESLURM_NOT_SUPPORTED;
-}
-
-extern int select_p_pack_select_info(time_t last_query_time,
-				     uint16_t show_flags, Buf *buffer_ptr,
-				     uint16_t protocol_version)
-{
-#ifdef HAVE_BGQ
-	return ESLURM_NOT_SUPPORTED;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_select_nodeinfo_pack(select_nodeinfo_t *nodeinfo,
-					 Buf buffer,
-					 uint16_t protocol_version)
-{
-	return ESLURM_NOT_SUPPORTED;
-}
-
-extern int select_p_select_nodeinfo_unpack(select_nodeinfo_t **nodeinfo,
-					   Buf buffer,
-					   uint16_t protocol_version)
-{
-	return ESLURM_NOT_SUPPORTED;
-}
-
-extern select_nodeinfo_t *select_p_select_nodeinfo_alloc(uint32_t size)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int select_p_select_nodeinfo_free(select_nodeinfo_t *nodeinfo)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int select_p_select_nodeinfo_set_all(time_t last_query_time)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int select_p_select_nodeinfo_set(struct job_record *job_ptr)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int select_p_select_nodeinfo_get(select_nodeinfo_t *nodeinfo,
-					enum select_nodedata_type dinfo,
-					enum node_states state,
-					void *data)
-{
-	return SLURM_SUCCESS;
-}
-
-select_jobinfo_t *select_p_select_jobinfo_alloc(void)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int select_p_select_jobinfo_set(select_jobinfo_t *jobinfo,
-				       enum select_jobdata_type data_type,
-				       void *data)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int select_p_select_jobinfo_get (select_jobinfo_t *jobinfo,
-				 enum select_jobdata_type data_type, void *data)
-{
-	return SLURM_SUCCESS;
-}
-
-extern select_jobinfo_t *select_p_select_jobinfo_copy(select_jobinfo_t *jobinfo)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int select_p_select_jobinfo_free  (select_jobinfo_t *jobinfo)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int  select_p_select_jobinfo_pack(select_jobinfo_t *jobinfo, Buf buffer,
-					 uint16_t protocol_version)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int  select_p_select_jobinfo_unpack(select_jobinfo_t **jobinfo,
-					   Buf buffer,
-					   uint16_t protocol_version)
-{
-	return SLURM_SUCCESS;
-}
-
-extern char *select_p_select_jobinfo_sprint(select_jobinfo_t *jobinfo,
-				     char *buf, size_t size, int mode)
-{
-	return SLURM_SUCCESS;
-}
-
-extern char *select_p_select_jobinfo_xstrdup(select_jobinfo_t *jobinfo,
-					     int mode)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int select_p_update_block (update_block_msg_t *block_desc_ptr)
-{
-#ifdef HAVE_BGQ
-	int rc = SLURM_SUCCESS;
-	return rc;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_update_sub_node (update_block_msg_t *block_desc_ptr)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_get_info_from_plugin (enum select_plugindata_info dinfo,
-					  struct job_record *job_ptr,
-					  void *data)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_update_node_config (int index)
-{
-	return SLURM_SUCCESS;
-}
-
-extern int select_p_update_node_state (int index, uint16_t state)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#endif
-	return SLURM_ERROR;
-}
-
-extern int select_p_alter_node_cnt(enum select_node_cnt type, void *data)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-extern int select_p_reconfigure(void)
-{
-#ifdef HAVE_BGQ
-	return SLURM_SUCCESS;
-#else
-	return SLURM_ERROR;
-#endif
-}
-
-}

Reply via email to