diff --git a/Makefile.in b/Makefile.in
index c2bc353e8561ba68571e8b6cb6747386d6894ae1..2ec1c64ac8c0d83aeab5930849a1a0784253c8c6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -119,6 +119,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/NEWS b/NEWS
index efae140763ac76ea1066efab0707bdfc6af836a9..d56e97ee8ee33e92292e816ac5c737976ba49a02 100644
--- a/NEWS
+++ b/NEWS
@@ -94,7 +94,8 @@ documents those changes that are of interest to users and admins.
 
 * Changes in SLURM 1.3.11
 =========================
- -- Bluegene/P support added (minimally tested, but builds correctly).
+ -- Bluegene/P support added (minimally tested, but builds correctly, 
+    no dynamic layout mode).
  -- Fix infinite loop when using accounting_storage/mysql plugin either from
     the slurmctld or slurmdbd daemon.
  -- Added more thread safety for assoc_mgr in the controller.
@@ -110,7 +111,10 @@ documents those changes that are of interest to users and admins.
  -- Add support for srun --cpus-per-task=0. This can be used to spawn tasks
     without allocating resouces for the job step from the job's allocation
     when running multiple job steps with the --exclusive option.
- 
+ -- Remove registration messages from saved messages when bringing down cluster.
+    Without causes deadlock if wrong cluster name is given.
+ -- Correction to build like for srun debugger (export symbols).
+  
 * Changes in SLURM 1.3.10
 =========================
  -- Fix several bugs in the hostlist functions:
diff --git a/auxdir/Makefile.in b/auxdir/Makefile.in
index 96949443d9f4f8b67596fac1729e220c353e7fb5..97522a26b906669a08400326c477319116d79d80 100644
--- a/auxdir/Makefile.in
+++ b/auxdir/Makefile.in
@@ -77,6 +77,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/auxdir/x_ac_bluegene.m4 b/auxdir/x_ac_bluegene.m4
index e04945b587404466a867e0ecdd1938d78f0ab067..75631a114a9d7a883df83a29d3f46cd248af40e1 100644
--- a/auxdir/x_ac_bluegene.m4
+++ b/auxdir/x_ac_bluegene.m4
@@ -15,6 +15,8 @@
 
 AC_DEFUN([X_AC_BGL],
 [
+	ac_bluegene_loaded=no
+
    	AC_ARG_WITH(db2, AS_HELP_STRING(--with-db2-dir=PATH,Specify path to DB2 librarys parent directory), [ trydb2dir=$withval ])
 
 	# test for bluegene emulation mode
@@ -39,8 +41,8 @@ AC_DEFUN([X_AC_BGL],
       		AC_DEFINE(HAVE_FRONT_END, 1, [Define to 1 if running slurmd on front-end only])
     		AC_MSG_NOTICE([Running in BG/L emulation mode])
 		bg_default_dirs=""
- 		#define bluegene_loaded so we don't load another bluegene conf
-		bluegene_loaded=yes
+ 		#define ac_bluegene_loaded so we don't load another bluegene conf
+		ac_bluegene_loaded=yes
 	else
   	   	bg_default_dirs="/bgl/BlueLight/ppcfloor/bglsys /opt/IBM/db2/V8.1 /u/bgdb2cli/sqllib /home/bgdb2cli/sqllib"
 	fi
@@ -97,8 +99,8 @@ AC_DEFUN([X_AC_BGL],
          	AS_HELP_STRING(--with-bg-serial=NAME,set BG_SERIAL value), [bg_serial="$withval"])
      		AC_MSG_RESULT($bg_serial)
      		AC_DEFINE_UNQUOTED(BG_SERIAL, "$bg_serial", [Define the BG_SERIAL value])	
- 		#define bluegene_loaded so we don't load another bluegene conf
-		bluegene_loaded=yes
+ 		#define ac_bluegene_loaded so we don't load another bluegene conf
+		ac_bluegene_loaded=yes
   	fi
 
    	AC_SUBST(BG_INCLUDES)
@@ -115,7 +117,7 @@ AC_DEFUN([X_AC_BGP],
     	esac ])	
 
 	# Skip if already set
-   	if test "x$bluegene_loaded" = "xyes" ; then 
+   	if test "x$ac_bluegene_loaded" = "xyes" ; then 
 		bg_default_dirs=""
 	elif test "x$bgp_emulation" = "xyes"; then
 		AC_DEFINE(HAVE_BG, 1, [Define to 1 if emulating or running on Blue Gene system])
@@ -123,8 +125,8 @@ AC_DEFUN([X_AC_BGP],
       		AC_DEFINE(HAVE_FRONT_END, 1, [Define to 1 if running slurmd on front-end only])
     		AC_MSG_NOTICE([Running in BG/P emulation mode])
 		bg_default_dirs=""
- 		#define bluegene_loaded so we don't load another bluegene conf
-		bluegene_loaded=yes
+ 		#define ac_bluegene_loaded so we don't load another bluegene conf
+		ac_bluegene_loaded=yes
 	else
 		bg_default_dirs="/bgsys/drivers/ppcfloor"
 	fi	
@@ -173,8 +175,8 @@ AC_DEFUN([X_AC_BGP],
     		AC_ARG_WITH(bg-serial,, [bg_serial="$withval"])
      		AC_MSG_RESULT($bg_serial)
      		AC_DEFINE_UNQUOTED(BG_SERIAL, "$bg_serial", [Define the BG_SERIAL value])	
- 		#define bluegene_loaded so we don't load another bluegene conf
-		bluegene_loaded=yes
+ 		#define ac_bluegene_loaded so we don't load another bluegene conf
+		ac_bluegene_loaded=yes
    	fi
 
    	AC_SUBST(BG_INCLUDES)
diff --git a/configure b/configure
index 0c7201749485b562588cac77aff8e5ffef5a1b09..e19d5186caed8d8ebcfbacf2bbb56132d6d751bd 100755
--- a/configure
+++ b/configure
@@ -916,6 +916,9 @@ PTHREAD_CC
 PTHREAD_LIBS
 PTHREAD_CFLAGS
 BG_INCLUDES
+BLUEGENE_LOADED_TRUE
+BLUEGENE_LOADED_FALSE
+BLUEGENE_LOADED
 SEMAPHORE_SOURCES
 SEMAPHORE_LIBS
 NCURSES
@@ -7126,7 +7129,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 7129 "configure"' > conftest.$ac_ext
+  echo '#line 7132 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -9232,11 +9235,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9235: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9238: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:9239: \$? = $ac_status" >&5
+   echo "$as_me:9242: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -9522,11 +9525,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9525: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9528: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:9529: \$? = $ac_status" >&5
+   echo "$as_me:9532: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -9626,11 +9629,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9629: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9632: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:9633: \$? = $ac_status" >&5
+   echo "$as_me:9636: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -12003,7 +12006,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 12006 "configure"
+#line 12009 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12103,7 +12106,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 12106 "configure"
+#line 12109 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14504,11 +14507,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14507: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14510: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14511: \$? = $ac_status" >&5
+   echo "$as_me:14514: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -14608,11 +14611,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14611: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14614: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14615: \$? = $ac_status" >&5
+   echo "$as_me:14618: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16206,11 +16209,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16209: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16212: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16213: \$? = $ac_status" >&5
+   echo "$as_me:16216: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16310,11 +16313,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16313: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16316: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16317: \$? = $ac_status" >&5
+   echo "$as_me:16320: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -18530,11 +18533,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18533: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18536: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:18537: \$? = $ac_status" >&5
+   echo "$as_me:18540: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -18820,11 +18823,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18823: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18826: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:18827: \$? = $ac_status" >&5
+   echo "$as_me:18830: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -18924,11 +18927,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18927: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18930: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:18931: \$? = $ac_status" >&5
+   echo "$as_me:18934: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -22778,17 +22781,13 @@ echo "$as_me: WARNING: Unable to locate PLPA processor affinity functions" >&2;}
 #
   cpuset_default_dir="/dev/cpuset"
 
-# Check whether --with-cpuset_dir was given.
-if test "${with_cpuset_dir+set}" = set; then
-  withval=$with_cpuset_dir; try_path=$withval
+# Check whether --with-cpusetdir was given.
+if test "${with_cpusetdir+set}" = set; then
+  withval=$with_cpusetdir; try_path=$withval
 fi
 
   for cpuset_dir in $try_path "" $cpuset_default_dir; do
-{ echo "$as_me:$LINENO: WARNING: cpuset_dir $cpuset_dir testing" >&5
-echo "$as_me: WARNING: cpuset_dir $cpuset_dir testing" >&2;}
     if test -d "$cpuset_dir" ; then
-{ echo "$as_me:$LINENO: WARNING: cpuset $cpuset_dir found" >&5
-echo "$as_me: WARNING: cpuset $cpuset_dir found" >&2;}
 
 cat >>confdefs.h <<_ACEOF
 #define CPUSET_DIR "$cpuset_dir"
@@ -24668,6 +24667,8 @@ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
 LIBS="$PTHREAD_LIBS $LIBS"
 
 
+	ac_bluegene_loaded=no
+
 
 # Check whether --with-db2 was given.
 if test "${with_db2+set}" = set; then
@@ -24720,8 +24721,8 @@ _ACEOF
     		{ echo "$as_me:$LINENO: Running in BG/L emulation mode" >&5
 echo "$as_me: Running in BG/L emulation mode" >&6;}
 		bg_default_dirs=""
- 		#define bluegene_loaded so we don't load another bluegene conf
-		bluegene_loaded=yes
+ 		#define ac_bluegene_loaded so we don't load another bluegene conf
+		ac_bluegene_loaded=yes
 	else
   	   	bg_default_dirs="/bgl/BlueLight/ppcfloor/bglsys /opt/IBM/db2/V8.1 /u/bgdb2cli/sqllib /home/bgdb2cli/sqllib"
 	fi
@@ -24856,8 +24857,8 @@ cat >>confdefs.h <<_ACEOF
 #define BG_SERIAL "$bg_serial"
 _ACEOF
 
- 		#define bluegene_loaded so we don't load another bluegene conf
-		bluegene_loaded=yes
+ 		#define ac_bluegene_loaded so we don't load another bluegene conf
+		ac_bluegene_loaded=yes
   	fi
 
 
@@ -24877,7 +24878,7 @@ fi
 
 
 	# Skip if already set
-   	if test "x$bluegene_loaded" = "xyes" ; then
+   	if test "x$ac_bluegene_loaded" = "xyes" ; then
 		bg_default_dirs=""
 	elif test "x$bgp_emulation" = "xyes"; then
 
@@ -24898,8 +24899,8 @@ _ACEOF
     		{ echo "$as_me:$LINENO: Running in BG/P emulation mode" >&5
 echo "$as_me: Running in BG/P emulation mode" >&6;}
 		bg_default_dirs=""
- 		#define bluegene_loaded so we don't load another bluegene conf
-		bluegene_loaded=yes
+ 		#define ac_bluegene_loaded so we don't load another bluegene conf
+		ac_bluegene_loaded=yes
 	else
 		bg_default_dirs="/bgsys/drivers/ppcfloor"
 	fi
@@ -25023,12 +25024,22 @@ cat >>confdefs.h <<_ACEOF
 #define BG_SERIAL "$bg_serial"
 _ACEOF
 
- 		#define bluegene_loaded so we don't load another bluegene conf
-		bluegene_loaded=yes
+ 		#define ac_bluegene_loaded so we don't load another bluegene conf
+		ac_bluegene_loaded=yes
    	fi
 
 
 
+ if test "x$ac_bluegene_loaded" = "xyes"; then
+  BLUEGENE_LOADED_TRUE=
+  BLUEGENE_LOADED_FALSE='#'
+else
+  BLUEGENE_LOADED_TRUE='#'
+  BLUEGENE_LOADED_FALSE=
+fi
+
+
+
 
 	# This is here to avoid a bug in the gcc compiler 3.4.6
 	# Without this flag there is a bug when pointing to other functions
@@ -27641,6 +27652,13 @@ echo "$as_me: error: conditional \"HAVE_UNSETENV\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${BLUEGENE_LOADED_TRUE}" && test -z "${BLUEGENE_LOADED_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BLUEGENE_LOADED\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BLUEGENE_LOADED\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${HAVE_SOME_CURSES_TRUE}" && test -z "${HAVE_SOME_CURSES_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"HAVE_SOME_CURSES\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -28543,6 +28561,9 @@ PTHREAD_CC!$PTHREAD_CC$ac_delim
 PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
 PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim
 BG_INCLUDES!$BG_INCLUDES$ac_delim
+BLUEGENE_LOADED_TRUE!$BLUEGENE_LOADED_TRUE$ac_delim
+BLUEGENE_LOADED_FALSE!$BLUEGENE_LOADED_FALSE$ac_delim
+BLUEGENE_LOADED!$BLUEGENE_LOADED$ac_delim
 SEMAPHORE_SOURCES!$SEMAPHORE_SOURCES$ac_delim
 SEMAPHORE_LIBS!$SEMAPHORE_LIBS$ac_delim
 NCURSES!$NCURSES$ac_delim
@@ -28585,9 +28606,6 @@ HAVE_OPENSSL_FALSE!$HAVE_OPENSSL_FALSE$ac_delim
 HAVE_OPENSSL!$HAVE_OPENSSL$ac_delim
 MUNGE_LIBS!$MUNGE_LIBS$ac_delim
 MUNGE_CPPFLAGS!$MUNGE_CPPFLAGS$ac_delim
-MUNGE_LDFLAGS!$MUNGE_LDFLAGS$ac_delim
-WITH_MUNGE_TRUE!$WITH_MUNGE_TRUE$ac_delim
-WITH_MUNGE_FALSE!$WITH_MUNGE_FALSE$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -28629,6 +28647,9 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+MUNGE_LDFLAGS!$MUNGE_LDFLAGS$ac_delim
+WITH_MUNGE_TRUE!$WITH_MUNGE_TRUE$ac_delim
+WITH_MUNGE_FALSE!$WITH_MUNGE_FALSE$ac_delim
 AUTHD_LIBS!$AUTHD_LIBS$ac_delim
 AUTHD_CFLAGS!$AUTHD_CFLAGS$ac_delim
 WITH_AUTHD_TRUE!$WITH_AUTHD_TRUE$ac_delim
@@ -28637,7 +28658,7 @@ UTIL_LIBS!$UTIL_LIBS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 9; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/configure.ac b/configure.ac
index 8b7c16a3b1831500b3c072417a1584d64a5f5810..fff07f932f8a4ea01966e4286031b6182dbe34dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -135,6 +135,9 @@ LIBS="$PTHREAD_LIBS $LIBS"
 
 X_AC_BGL
 X_AC_BGP
+AM_CONDITIONAL(BLUEGENE_LOADED, test "x$ac_bluegene_loaded" = "xyes")
+AC_SUBST(BLUEGENE_LOADED)
+
 X_AC_CFLAGS
 X_AC_XCPU
 X_AC_SLURM_SEMAPHORE
diff --git a/contribs/Makefile.in b/contribs/Makefile.in
index 901ac4182b6e9e67032507cf6ef774afed2d7a9d..ebdd17bfd67477899c19035a5c62475dcd6b6a3c 100644
--- a/contribs/Makefile.in
+++ b/contribs/Makefile.in
@@ -88,6 +88,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/contribs/perlapi/Makefile.in b/contribs/perlapi/Makefile.in
index 6720050023109c7838390afd7e72078ea374cb38..aa466269e98ae4d95a0fa0676a5dee1c45466653 100644
--- a/contribs/perlapi/Makefile.in
+++ b/contribs/perlapi/Makefile.in
@@ -76,6 +76,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/contribs/phpext/Makefile.in b/contribs/phpext/Makefile.in
index 55b80355e5d29ccdcd21b6da397f7795563d94fa..d281afffae154efad83f39083d7fb598ecadc4c7 100644
--- a/contribs/phpext/Makefile.in
+++ b/contribs/phpext/Makefile.in
@@ -76,6 +76,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/contribs/python/Makefile.in b/contribs/python/Makefile.in
index 9b6fb5d4208ddcf8f5e5edc078b604deeb6c0f30..19e505d1f501d006b20621d74c0f5a559c9e2da2 100644
--- a/contribs/python/Makefile.in
+++ b/contribs/python/Makefile.in
@@ -88,6 +88,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/contribs/python/hostlist/Makefile.in b/contribs/python/hostlist/Makefile.in
index 0b11691ae724f24ddd916ad661264d4594975498..0e7f64a34c5c990e0cd0b9438552f7fe9c89ebc0 100644
--- a/contribs/python/hostlist/Makefile.in
+++ b/contribs/python/hostlist/Makefile.in
@@ -89,6 +89,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/contribs/python/hostlist/test/Makefile.in b/contribs/python/hostlist/test/Makefile.in
index cd158472188aa9995adec1d15966e4fc25cead38..2e3e83471686a12bdcde5f4d7c0ca0e9c1f95114 100644
--- a/contribs/python/hostlist/test/Makefile.in
+++ b/contribs/python/hostlist/test/Makefile.in
@@ -76,6 +76,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/contribs/torque/Makefile.in b/contribs/torque/Makefile.in
index 61cb08158711dce35d8bcefb3cb2b026972b2ebc..6346d7bb496b35e64034f5ffc623c0560f210eae 100644
--- a/contribs/torque/Makefile.in
+++ b/contribs/torque/Makefile.in
@@ -83,6 +83,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 97976e866296c03837d8cec24757b3be390410cb..3a50b00121da16d40cbac592c721ef54f5f8f7b6 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -88,6 +88,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/doc/html/Makefile.in b/doc/html/Makefile.in
index 9b93fd11f59275b18d979e3057f64fe55eae3eb2..442cdd633c378a9e58b29bb30dc018dcd0d5c98b 100644
--- a/doc/html/Makefile.in
+++ b/doc/html/Makefile.in
@@ -87,6 +87,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/doc/man/Makefile.in b/doc/man/Makefile.in
index c59a2bad3da4c05017fd037264601bf074920415..54ec39ac1bce6a547d0c7bb71ff4a47d0634e0dd 100644
--- a/doc/man/Makefile.in
+++ b/doc/man/Makefile.in
@@ -84,6 +84,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/Makefile.in b/src/Makefile.in
index 292ab1514cd1c0fdbc59b4fa63b39d9d41ce9b7f..0055bd8bc21a28259e79c6ad87e1f617516213c5 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -88,6 +88,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/api/Makefile.in b/src/api/Makefile.in
index a820b5d8e1a238e0e3ba532d31162b7b3c2d68bf..2435a69519ca93d7f5eac116f858fda14f95ba56 100644
--- a/src/api/Makefile.in
+++ b/src/api/Makefile.in
@@ -136,6 +136,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/api/pmi.c b/src/api/pmi.c
index 3ddac7b724384b15c66a29be9a388839b3243485..a0c0f53d376da4aa86987145ce2c41bf3eb28e2b 100644
--- a/src/api/pmi.c
+++ b/src/api/pmi.c
@@ -760,7 +760,7 @@ int PMI_Get_clique_ranks( int ranks[], int length )
 	env = getenv("SLURM_GTIDS");
 	if (env) {
 		int i = 0;
-		char *tid, *tids, *last;
+		char *tid, *tids, *last = NULL;
 		tids = strdup(env);
 		tid = strtok_r(tids, ",", &last);
 		while (tid) {
diff --git a/src/common/Makefile.in b/src/common/Makefile.in
index 44cc57217ab1a0f0f69f04b9e41beda524d9adcb..50adee465e3f3992d8149695e19e2f156a621722 100644
--- a/src/common/Makefile.in
+++ b/src/common/Makefile.in
@@ -185,6 +185,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/common/node_select.c b/src/common/node_select.c
index c20ec1a62c94baade9ab5b81bed50f226b78dafa..a85a927ba4062006647411e2d06efc3f2319f695 100644
--- a/src/common/node_select.c
+++ b/src/common/node_select.c
@@ -658,8 +658,10 @@ static int _unpack_node_info(bg_info_record_t *bg_info_record, Buf buffer)
 	bg_info_record->state     = (int) uint16_tmp;
 	safe_unpack16(&uint16_tmp, buffer);
 	bg_info_record->conn_type = (int) uint16_tmp;
+#ifdef HAVE_BGL
 	safe_unpack16(&uint16_tmp, buffer);
 	bg_info_record->node_use = (int) uint16_tmp;
+#endif
 	safe_unpack16(&uint16_tmp, buffer);
 	bg_info_record->quarter = (int) uint16_tmp;
 	safe_unpack16(&uint16_tmp, buffer);
@@ -680,8 +682,10 @@ static int _unpack_node_info(bg_info_record_t *bg_info_record, Buf buffer)
 		bg_info_record->ionode_inx = bitfmt2int(bp_inx_str);
 		xfree(bp_inx_str);
 	}
+#ifdef HAVE_BGL
 	safe_unpackstr_xmalloc(&bg_info_record->blrtsimage,   &uint32_tmp, 
 			       buffer);
+#endif
 	safe_unpackstr_xmalloc(&bg_info_record->linuximage,   &uint32_tmp, 
 			       buffer);
 	safe_unpackstr_xmalloc(&bg_info_record->mloaderimage, &uint32_tmp, 
diff --git a/src/common/parse_config.c b/src/common/parse_config.c
index e6356d5de666bfe9f13053461fe6ac1d7d1861dc..bcbed7f1f58511791419086165a2fcd5c98129e8 100644
--- a/src/common/parse_config.c
+++ b/src/common/parse_config.c
@@ -67,7 +67,7 @@
 static regex_t keyvalue_re;
 static char *keyvalue_pattern =
 	"^[[:space:]]*"
-	"([[:alpha:]]+)" /* key */
+	"([[:alnum:]]+)" /* key */
 	"[[:space:]]*=[[:space:]]*"
 	"((\"([^\"]*)\")|([^[:space:]]+))" /* value: quoted with whitespace,
 					    * or unquoted and no whitespace */
@@ -235,6 +235,7 @@ static int _keyvalue_regex(const char *line,
 	*value = NULL;
 	*remaining = (char *)line;
 	memset(pmatch, 0, sizeof(regmatch_t)*nmatch);
+	
 	if (regexec(&keyvalue_re, line, nmatch, pmatch, 0)
 	    == REG_NOMATCH) {
 		return -1;
@@ -243,7 +244,6 @@ static int _keyvalue_regex(const char *line,
 	*key = (char *)(xstrndup(line + pmatch[1].rm_so,
 				 pmatch[1].rm_eo - pmatch[1].rm_so));
 
-
 	if (pmatch[4].rm_so != -1) {
 		*value = (char *)(xstrndup(line + pmatch[4].rm_so,
 					   pmatch[4].rm_eo - pmatch[4].rm_so));
diff --git a/src/common/slurm_protocol_api.c b/src/common/slurm_protocol_api.c
index d2034a72abad3404f1fa47cba37399889b8ca67a..3d524f427f7cdabaf4cb8a9c01297a1639d17fdc 100644
--- a/src/common/slurm_protocol_api.c
+++ b/src/common/slurm_protocol_api.c
@@ -961,6 +961,29 @@ uint32_t slurm_get_accounting_storage_port(void)
 	
 }
 
+/* slurm_set_accounting_storage_port
+ * sets the storage port in slurmctld_conf object
+ * RET 0 or error code
+ */
+int slurm_set_accounting_storage_port(uint32_t storage_port)
+{
+	slurm_ctl_conf_t *conf;
+
+	if(slurmdbd_conf) {
+		slurmdbd_conf->storage_port = storage_port;
+	} else {
+		conf = slurm_conf_lock();
+		if (storage_port == 0) {
+			error("can't have storage port of 0");
+			return SLURM_ERROR;
+		}
+		
+		conf->accounting_storage_port = storage_port;
+		slurm_conf_unlock();
+	}
+	return 0;	
+}
+
 /* slurm_get_jobacct_gather_type
  * returns the job accounting type from the slurmctld_conf object
  * RET char *    - job accounting type,  MUST be xfreed by caller
@@ -1106,6 +1129,28 @@ uint32_t slurm_get_jobcomp_port(void)
 	
 }
 
+/* slurm_set_jobcomp_port
+ * sets the jobcomp port in slurmctld_conf object
+ * RET 0 or error code
+ */
+int slurm_set_jobcomp_port(uint32_t port)
+{
+	slurm_ctl_conf_t *conf;
+
+	if(slurmdbd_conf) {
+	} else {
+		conf = slurm_conf_lock();
+		if (port == 0) {
+			error("can't have jobcomp port of 0");
+			return SLURM_ERROR;
+		}
+		
+		conf->job_comp_port = port;
+		slurm_conf_unlock();
+	}
+	return 0;
+}
+
 /* slurm_get_proctrack_type
  * get ProctrackType from slurmctld_conf object
  * RET char *   - proctrack type, MUST be xfreed by caller
diff --git a/src/common/slurm_protocol_api.h b/src/common/slurm_protocol_api.h
index 14d47c10a5577fb7218c6fb1d72abbc6daa8892a..5086125f26d2f51cd473a94b0502794b4ed05e3b 100644
--- a/src/common/slurm_protocol_api.h
+++ b/src/common/slurm_protocol_api.h
@@ -331,6 +331,12 @@ char *slurm_get_accounting_storage_pass(void);
  */
 uint32_t slurm_get_accounting_storage_port(void);
 
+/* slurm_set_accounting_storage_port
+ * sets the storage port in slurmctld_conf object
+ * RET 0 or error code
+ */
+int slurm_set_accounting_storage_port(uint32_t storage_port);
+
 /* slurm_get_jobacct_gather_type
  * returns the job accounting type from slurmctld_conf object
  * RET char *    - job accounting type,  MUST be xfreed by caller
@@ -379,6 +385,13 @@ char *slurm_get_jobcomp_pass(void);
  */
 uint32_t slurm_get_jobcomp_port(void);
 
+/* slurm_set_jobcomp_port
+ * sets the jobcomp port in slurmctld_conf object
+ * RET 0 or error code
+ */
+int slurm_set_jobcomp_port(uint32_t port);
+
+
 /* slurm_get_propagate_prio_process
  * return the PropagatePrioProcess flag from slurmctld_conf object
  */
diff --git a/src/common/slurmdbd_defs.c b/src/common/slurmdbd_defs.c
index 2899222f6d7d03c73104039cbd5d53f3f2a1b960..64f6381e79207491eb5d91899e71ca08483c928c 100644
--- a/src/common/slurmdbd_defs.c
+++ b/src/common/slurmdbd_defs.c
@@ -324,9 +324,10 @@ static void _open_slurmdbd_fd(void)
 	if (slurmdbd_host == NULL)
 		slurmdbd_host = xstrdup(DEFAULT_STORAGE_HOST);
 	
-	if (slurmdbd_port == 0) 
+	if (slurmdbd_port == 0) {
 		slurmdbd_port = SLURMDBD_PORT;
-	
+		slurm_set_accounting_storage_port(slurmdbd_port);
+	}
 	slurm_set_addr(&dbd_addr, slurmdbd_port, slurmdbd_host);
 	if (dbd_addr.sin_port == 0)
 		error("Unable to locate SlurmDBD host %s:%u", 
@@ -1571,6 +1572,8 @@ static void _save_dbd_state(void)
 	char *dbd_fname;
 	Buf buffer;
 	int fd, rc, wrote = 0;
+	uint16_t msg_type;
+	uint32_t offset;
 
 	dbd_fname = slurm_get_state_save_location();
 	xstrcat(dbd_fname, "/dbd.messages");
@@ -1579,6 +1582,24 @@ static void _save_dbd_state(void)
 		error("slurmdbd: Creating state save file %s", dbd_fname);
 	} else if (agent_list) {
 		while ((buffer = list_dequeue(agent_list))) {
+			/* We do not want to store registration
+			   messages.  If an admin puts in an incorrect
+			   cluster name we can get a deadlock unless
+			   they add the bogus cluster name to the
+			   accounting system.
+			*/
+			offset = get_buf_offset(buffer);
+			if (offset < 2) {
+				free_buf(buffer);
+				continue;
+			}
+			set_buf_offset(buffer, 0);
+			unpack16(&msg_type, buffer);
+			set_buf_offset(buffer, offset);
+			if(msg_type == DBD_REGISTER_CTLD) {
+				free_buf(buffer);
+				continue;
+			}
 			rc = _save_dbd_rec(fd, buffer);
 			free_buf(buffer);
 			if (rc != SLURM_SUCCESS)
diff --git a/src/database/Makefile.in b/src/database/Makefile.in
index e03bb214f5ac99a579f7150bc670a7074e56284e..9aa18bfbb9b593745a56be3db0d5f2b595853bd4 100644
--- a/src/database/Makefile.in
+++ b/src/database/Makefile.in
@@ -110,6 +110,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/Makefile.in b/src/plugins/Makefile.in
index 43094b806d7a210abd37d6d182ba71b7f3d63d18..535e15e0a827031e6d99edde7a802ba02d081233 100644
--- a/src/plugins/Makefile.in
+++ b/src/plugins/Makefile.in
@@ -88,6 +88,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/accounting_storage/Makefile.in b/src/plugins/accounting_storage/Makefile.in
index 20d35d8c2af12d4f708e1eb5da3ba1e019da4d6b..9731af796daabb1fa75b06405800159b3a62fc81 100644
--- a/src/plugins/accounting_storage/Makefile.in
+++ b/src/plugins/accounting_storage/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/accounting_storage/filetxt/Makefile.in b/src/plugins/accounting_storage/filetxt/Makefile.in
index c4e2a20bea2b3a0d9dcba0ab19c4f4b486f07139..afded661eef76e22447bb30354252291f28e8538 100644
--- a/src/plugins/accounting_storage/filetxt/Makefile.in
+++ b/src/plugins/accounting_storage/filetxt/Makefile.in
@@ -111,6 +111,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/accounting_storage/mysql/Makefile.in b/src/plugins/accounting_storage/mysql/Makefile.in
index a12bd05c23df6b0411042865374afefda9d77d3e..82e780a90518a7c0962c5b122168862845c8dc87 100644
--- a/src/plugins/accounting_storage/mysql/Makefile.in
+++ b/src/plugins/accounting_storage/mysql/Makefile.in
@@ -116,6 +116,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
index 1b111dbe5c1b4fa4394fe8b4ca989b389b6fb784..f1a56343c90bcf2ab043a4be5fa5299f06f75bdf 100644
--- a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
+++ b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
@@ -2069,8 +2069,10 @@ static mysql_db_info_t *_mysql_acct_create_db_info()
 {
 	mysql_db_info_t *db_info = xmalloc(sizeof(mysql_db_info_t));
 	db_info->port = slurm_get_accounting_storage_port();
-	if(!db_info->port) 
+	if(!db_info->port) {
 		db_info->port = 3306;
+		slurm_set_accounting_storage_port(db_info->port);
+	}
 	db_info->host = slurm_get_accounting_storage_host();	
 	db_info->user = slurm_get_accounting_storage_user();	
 	db_info->pass = slurm_get_accounting_storage_pass();	
diff --git a/src/plugins/accounting_storage/none/Makefile.in b/src/plugins/accounting_storage/none/Makefile.in
index 38bb59ace998b518b111f8896c40d164e76f1e2b..0d12f95f14b2cf60ce9691cbb2856a612cd98ebd 100644
--- a/src/plugins/accounting_storage/none/Makefile.in
+++ b/src/plugins/accounting_storage/none/Makefile.in
@@ -110,6 +110,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/accounting_storage/pgsql/Makefile.in b/src/plugins/accounting_storage/pgsql/Makefile.in
index e9ec8ea928faa9e634cfbe51cead032c97ab26a3..717c7cb2c0e596bed83574e9bb8b11cea6de687a 100644
--- a/src/plugins/accounting_storage/pgsql/Makefile.in
+++ b/src/plugins/accounting_storage/pgsql/Makefile.in
@@ -115,6 +115,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/accounting_storage/pgsql/accounting_storage_pgsql.c b/src/plugins/accounting_storage/pgsql/accounting_storage_pgsql.c
index 074164b67fa4048bb77756f4fb737c30c0754c01..ce2b95fcf04c10b040327039cbc1daf7592491fe 100644
--- a/src/plugins/accounting_storage/pgsql/accounting_storage_pgsql.c
+++ b/src/plugins/accounting_storage/pgsql/accounting_storage_pgsql.c
@@ -136,8 +136,10 @@ static pgsql_db_info_t *_pgsql_acct_create_db_info()
 	db_info->port = slurm_get_accounting_storage_port();
 	/* it turns out it is better if using defaults to let postgres
 	   handle them on it's own terms */
-	if(!db_info->port)
+	if(!db_info->port) {
 		db_info->port = 5432;
+		slurm_set_accounting_storage_port(db_info->port);
+	}
 	db_info->host = slurm_get_accounting_storage_host();
 	if(!db_info->host)
 		db_info->host = xstrdup("localhost");
diff --git a/src/plugins/accounting_storage/slurmdbd/Makefile.in b/src/plugins/accounting_storage/slurmdbd/Makefile.in
index 964f57db258cb47c784cda99a048531cdded86fa..6e330dc9882960c0c19ff888b1037d9f639eba50 100644
--- a/src/plugins/accounting_storage/slurmdbd/Makefile.in
+++ b/src/plugins/accounting_storage/slurmdbd/Makefile.in
@@ -111,6 +111,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/auth/Makefile.in b/src/plugins/auth/Makefile.in
index 493144ceb61ad4fdec21487a3525e29cf8964772..2dcfff1a2c8e31788a700d551d6411344d53f986 100644
--- a/src/plugins/auth/Makefile.in
+++ b/src/plugins/auth/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/auth/authd/Makefile.in b/src/plugins/auth/authd/Makefile.in
index 088eca683fec438de916a3fe6563d642f493cd18..4570591654e42640cae914ec89ef1b2ac0ae387a 100644
--- a/src/plugins/auth/authd/Makefile.in
+++ b/src/plugins/auth/authd/Makefile.in
@@ -109,6 +109,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/auth/munge/Makefile.in b/src/plugins/auth/munge/Makefile.in
index 7d1ec2e57f5fc44bed3657eaf86045243be2dc40..fc5afeb89d0212dbaa08e318bba4a744a38ddbe7 100644
--- a/src/plugins/auth/munge/Makefile.in
+++ b/src/plugins/auth/munge/Makefile.in
@@ -110,6 +110,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/auth/none/Makefile.in b/src/plugins/auth/none/Makefile.in
index 80c72fe0c3cd04e2535425d522f9ecba31e0a718..8fcead4ff9829115301e8e2590f50d7937f6a94c 100644
--- a/src/plugins/auth/none/Makefile.in
+++ b/src/plugins/auth/none/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/checkpoint/Makefile.in b/src/plugins/checkpoint/Makefile.in
index dead96c3896b0e921089a464451dcd7a1162a68e..8b489ba099c4e72f4903f12afa8ae9801e909583 100644
--- a/src/plugins/checkpoint/Makefile.in
+++ b/src/plugins/checkpoint/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/checkpoint/aix/Makefile.in b/src/plugins/checkpoint/aix/Makefile.in
index 4015bb9202e721fcee90495eba1b6b829821e8dd..b23f830a2478d28bd9f38f2fc00dd9cbbe33050e 100644
--- a/src/plugins/checkpoint/aix/Makefile.in
+++ b/src/plugins/checkpoint/aix/Makefile.in
@@ -113,6 +113,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/checkpoint/none/Makefile.in b/src/plugins/checkpoint/none/Makefile.in
index cad3af7ab413e9a0ecf987c2f115c1c7d248ee37..136deac83a927f37493a52fbce1e832faaccbc55 100644
--- a/src/plugins/checkpoint/none/Makefile.in
+++ b/src/plugins/checkpoint/none/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/checkpoint/ompi/Makefile.in b/src/plugins/checkpoint/ompi/Makefile.in
index 0e2c3e196bd47ed624acd2621bc72144677eb2e1..004a19ccd71f194ef8355fe47c0cd48800088228 100644
--- a/src/plugins/checkpoint/ompi/Makefile.in
+++ b/src/plugins/checkpoint/ompi/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/checkpoint/xlch/Makefile.in b/src/plugins/checkpoint/xlch/Makefile.in
index 42cd308ea6f8c9ec39c771d63a21604b003c4fac..4fc893d94cdf1530d159b3482c36119d73f554c7 100644
--- a/src/plugins/checkpoint/xlch/Makefile.in
+++ b/src/plugins/checkpoint/xlch/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/crypto/Makefile.in b/src/plugins/crypto/Makefile.in
index 0ef0f90927aa497b7ddb8a552e7225a63f818777..9f06fc33d5d6680cd32bc45fd3d0df2a3e2f57da 100644
--- a/src/plugins/crypto/Makefile.in
+++ b/src/plugins/crypto/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/crypto/munge/Makefile.in b/src/plugins/crypto/munge/Makefile.in
index 89ed70b0c460c91a7a8af9bed2279a278097e274..9295eb36cd499a4663262b02b2ca114911ae8bd2 100644
--- a/src/plugins/crypto/munge/Makefile.in
+++ b/src/plugins/crypto/munge/Makefile.in
@@ -110,6 +110,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/crypto/openssl/Makefile.in b/src/plugins/crypto/openssl/Makefile.in
index 81b74f2f769ccd0c77fbb888459a3e5d0ef24f51..374e611db27950289be596c44fb31116fe4f7359 100644
--- a/src/plugins/crypto/openssl/Makefile.in
+++ b/src/plugins/crypto/openssl/Makefile.in
@@ -115,6 +115,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobacct_gather/Makefile.in b/src/plugins/jobacct_gather/Makefile.in
index db8074826a72d6c2111408cbbf65e6b0d58fc843..fb1e94ee60f52000b51e868b2138a5c8f4996dda 100644
--- a/src/plugins/jobacct_gather/Makefile.in
+++ b/src/plugins/jobacct_gather/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobacct_gather/aix/Makefile.in b/src/plugins/jobacct_gather/aix/Makefile.in
index a10ba903c92c9667ba9287beabdbb64bcd29beac..269da5a52954673d49857afac9bd9e0dd399cbc8 100644
--- a/src/plugins/jobacct_gather/aix/Makefile.in
+++ b/src/plugins/jobacct_gather/aix/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobacct_gather/linux/Makefile.in b/src/plugins/jobacct_gather/linux/Makefile.in
index 552c0de01561aef676954114d6d1d2743ca7854a..7f325c3a0e5ae389d8fa6a284651a56556aa4ea9 100644
--- a/src/plugins/jobacct_gather/linux/Makefile.in
+++ b/src/plugins/jobacct_gather/linux/Makefile.in
@@ -110,6 +110,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobacct_gather/none/Makefile.in b/src/plugins/jobacct_gather/none/Makefile.in
index d068842ff28ad7cb39f5f28093aefdf670777124..1676177a8d5bfdf34a709826ac849e70fa7a22d6 100644
--- a/src/plugins/jobacct_gather/none/Makefile.in
+++ b/src/plugins/jobacct_gather/none/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobcomp/Makefile.in b/src/plugins/jobcomp/Makefile.in
index ed937b96b464e314f6a12b0487a8bffb6a5c7c1f..9968dc5b93f8119a0e56957b87c869c88d6a809a 100644
--- a/src/plugins/jobcomp/Makefile.in
+++ b/src/plugins/jobcomp/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobcomp/filetxt/Makefile.in b/src/plugins/jobcomp/filetxt/Makefile.in
index 66f53ffec2cbb8b06a24fc62f50296f19a7d8fe2..1479a028e9de2e074b88a93246139a3dfc867507 100644
--- a/src/plugins/jobcomp/filetxt/Makefile.in
+++ b/src/plugins/jobcomp/filetxt/Makefile.in
@@ -109,6 +109,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobcomp/mysql/Makefile.in b/src/plugins/jobcomp/mysql/Makefile.in
index e90c0e90b09f8a807289ae6bab0ef4dc9ff00160..7e4b73be6638516360bb798e287b3561a65b5b74 100644
--- a/src/plugins/jobcomp/mysql/Makefile.in
+++ b/src/plugins/jobcomp/mysql/Makefile.in
@@ -109,6 +109,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobcomp/mysql/jobcomp_mysql.c b/src/plugins/jobcomp/mysql/jobcomp_mysql.c
index 8911392d5d27fce7c5b5094ee61393285c2a2fae..da1289f5e944a31d4230830c2f938be5832864d5 100644
--- a/src/plugins/jobcomp/mysql/jobcomp_mysql.c
+++ b/src/plugins/jobcomp/mysql/jobcomp_mysql.c
@@ -132,8 +132,10 @@ static mysql_db_info_t *_mysql_jobcomp_create_db_info()
 {
 	mysql_db_info_t *db_info = xmalloc(sizeof(mysql_db_info_t));
 	db_info->port = slurm_get_jobcomp_port();
-	if(!db_info->port) 
+	if(!db_info->port) {
 		db_info->port = 3306;
+		slurm_set_jobcomp_port(db_info->port);
+	}
 	db_info->host = slurm_get_jobcomp_host();	
 	db_info->user = slurm_get_jobcomp_user();	
 	db_info->pass = slurm_get_jobcomp_pass();	
diff --git a/src/plugins/jobcomp/none/Makefile.in b/src/plugins/jobcomp/none/Makefile.in
index 1de2df8c7e0ac74b56594badf6b2c595dee58b1b..1a5fc7ad0406a24e9c1920fee5d033998de9bfda 100644
--- a/src/plugins/jobcomp/none/Makefile.in
+++ b/src/plugins/jobcomp/none/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobcomp/pgsql/Makefile.in b/src/plugins/jobcomp/pgsql/Makefile.in
index 571ec965b8802721d1728dc8341e231e3baec259..ef262b2c1e88591828ac94b79448dd6718e4c7fc 100644
--- a/src/plugins/jobcomp/pgsql/Makefile.in
+++ b/src/plugins/jobcomp/pgsql/Makefile.in
@@ -109,6 +109,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/jobcomp/pgsql/jobcomp_pgsql.c b/src/plugins/jobcomp/pgsql/jobcomp_pgsql.c
index 6f53bc0df5dbbe529a415883dc5fc18c74bee8df..0c9b545b669bacbdae64bf0fc97151c36d5897bf 100644
--- a/src/plugins/jobcomp/pgsql/jobcomp_pgsql.c
+++ b/src/plugins/jobcomp/pgsql/jobcomp_pgsql.c
@@ -132,8 +132,10 @@ static pgsql_db_info_t *_pgsql_jobcomp_create_db_info()
 	db_info->port = slurm_get_jobcomp_port();
 	/* it turns out it is better if using defaults to let postgres
 	   handle them on it's own terms */
-	if(!db_info->port)
+	if(!db_info->port) {
 		db_info->port = 5432;
+		slurm_set_jobcomp_port(db_info->port);
+	}
 	db_info->host = slurm_get_jobcomp_host();
 	db_info->user = slurm_get_jobcomp_user();	
 	db_info->pass = slurm_get_jobcomp_pass();	
diff --git a/src/plugins/jobcomp/script/Makefile.in b/src/plugins/jobcomp/script/Makefile.in
index 3c9136ac9318df46452868eda99fbdfb06ed07ba..c78fb5a1ad61de131340ad3db5dd0b6fd1208230 100644
--- a/src/plugins/jobcomp/script/Makefile.in
+++ b/src/plugins/jobcomp/script/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/mpi/Makefile.in b/src/plugins/mpi/Makefile.in
index 8a92ad404d3529de8f211f1ae8f09c8e189dc8e2..8bddee6b7c7787da08e30b3bd2b451792b0de494 100644
--- a/src/plugins/mpi/Makefile.in
+++ b/src/plugins/mpi/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/mpi/lam/Makefile.in b/src/plugins/mpi/lam/Makefile.in
index 0f003b858fe121a7eb354d929d9b9dfc4a4e47a8..936abcc2074333b1a7184e77128bc30439494e51 100644
--- a/src/plugins/mpi/lam/Makefile.in
+++ b/src/plugins/mpi/lam/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/mpi/mpich1_p4/Makefile.in b/src/plugins/mpi/mpich1_p4/Makefile.in
index 7b9a0d5c97aac4c2e33a4b94091b3ad8b3ac7128..7e51e58fc617e8998c4b15cf8c658594bd408303 100644
--- a/src/plugins/mpi/mpich1_p4/Makefile.in
+++ b/src/plugins/mpi/mpich1_p4/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/mpi/mpich1_shmem/Makefile.in b/src/plugins/mpi/mpich1_shmem/Makefile.in
index 9dffc9d58784ac4544a5312471e67e889813b278..871ae717b7e68105aeb427dfed091032bd851cf3 100644
--- a/src/plugins/mpi/mpich1_shmem/Makefile.in
+++ b/src/plugins/mpi/mpich1_shmem/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/mpi/mpichgm/Makefile.in b/src/plugins/mpi/mpichgm/Makefile.in
index c5004cdd2db20ddf526de4b8467f5769439f9b9d..776e1cd5c4bcc33a8d555103c544e96bda8616b5 100644
--- a/src/plugins/mpi/mpichgm/Makefile.in
+++ b/src/plugins/mpi/mpichgm/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/mpi/mpichmx/Makefile.in b/src/plugins/mpi/mpichmx/Makefile.in
index d40cf452ac9817aa065d1a592d4e1b4dd0bf098f..a15c6b41127f4c65aee6280d18016bbab475f368 100644
--- a/src/plugins/mpi/mpichmx/Makefile.in
+++ b/src/plugins/mpi/mpichmx/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/mpi/mvapich/Makefile.in b/src/plugins/mpi/mvapich/Makefile.in
index f838a83251fc370965f3006b80d4875f95614cb2..5159999c82e9396e9ee4142205dc8a8e5864ba01 100644
--- a/src/plugins/mpi/mvapich/Makefile.in
+++ b/src/plugins/mpi/mvapich/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/mpi/none/Makefile.in b/src/plugins/mpi/none/Makefile.in
index 77b5324f9ef91c9232e1a37029797a86f09a5f7b..156366a5df71305cc32def3deb4499b9180a1e23 100644
--- a/src/plugins/mpi/none/Makefile.in
+++ b/src/plugins/mpi/none/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/mpi/openmpi/Makefile.in b/src/plugins/mpi/openmpi/Makefile.in
index 127621bf1fef1cf8b8384447f8fee112d8130e64..8fcb4fd7144e8a587074f9ff597f805fbca8a3da 100644
--- a/src/plugins/mpi/openmpi/Makefile.in
+++ b/src/plugins/mpi/openmpi/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/priority/Makefile.in b/src/plugins/priority/Makefile.in
index a41b70871700c440762c456de1305f094b77083e..c260acbc6c8a9a5ec9f44c166f9877577637d366 100644
--- a/src/plugins/priority/Makefile.in
+++ b/src/plugins/priority/Makefile.in
@@ -88,6 +88,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/priority/basic/Makefile.in b/src/plugins/priority/basic/Makefile.in
index 95fc851d760495ae8937abfb2199e2448bd5ae05..6e3dfcf7db36026881fa73ba5eba6d33ef7402b5 100644
--- a/src/plugins/priority/basic/Makefile.in
+++ b/src/plugins/priority/basic/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/priority/multifactor/Makefile.in b/src/plugins/priority/multifactor/Makefile.in
index 0425a28fbac6c5227a948d45dda48d808041ae7c..e91f9f19c4dbab4f9afdd00fca396b2993d5caa6 100644
--- a/src/plugins/priority/multifactor/Makefile.in
+++ b/src/plugins/priority/multifactor/Makefile.in
@@ -109,6 +109,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/proctrack/Makefile.in b/src/plugins/proctrack/Makefile.in
index a78faad3ce0ebf54cd0b248ef16495fc8fc07eb6..a6685e0d93b23bfd1c9cf7aa7a055e3fea4ce6a6 100644
--- a/src/plugins/proctrack/Makefile.in
+++ b/src/plugins/proctrack/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/proctrack/aix/Makefile.in b/src/plugins/proctrack/aix/Makefile.in
index 449862c50d42509a322a1093efa6a34b820c7f95..22b4a04bd68ebd10c29a455dd05a237d25e1a20f 100644
--- a/src/plugins/proctrack/aix/Makefile.in
+++ b/src/plugins/proctrack/aix/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/proctrack/linuxproc/Makefile.in b/src/plugins/proctrack/linuxproc/Makefile.in
index 851cc99624a10394646d34898f99285b566a2492..a1da265e3dfcaf3e53a21764b809f730a80d1fd1 100644
--- a/src/plugins/proctrack/linuxproc/Makefile.in
+++ b/src/plugins/proctrack/linuxproc/Makefile.in
@@ -109,6 +109,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/proctrack/pgid/Makefile.in b/src/plugins/proctrack/pgid/Makefile.in
index b44deb356129d9b4702ba1599b9d64ffac1ddf74..b0db7eaf4e7e6d32c91cb468f8c4db3b80546a89 100644
--- a/src/plugins/proctrack/pgid/Makefile.in
+++ b/src/plugins/proctrack/pgid/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/proctrack/rms/Makefile.in b/src/plugins/proctrack/rms/Makefile.in
index 97b5d4174783a8f3d268198c9b29ab24e411f34b..f3ef3dd042ebba32925ba7037966cd610fd8d3d4 100644
--- a/src/plugins/proctrack/rms/Makefile.in
+++ b/src/plugins/proctrack/rms/Makefile.in
@@ -109,6 +109,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/proctrack/sgi_job/Makefile.in b/src/plugins/proctrack/sgi_job/Makefile.in
index 89035d60e22d0592cc0a54f3016c37b7ff4342dd..5951792a90e51835029629e7b47d5d7cbeb46b0b 100644
--- a/src/plugins/proctrack/sgi_job/Makefile.in
+++ b/src/plugins/proctrack/sgi_job/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/sched/Makefile.in b/src/plugins/sched/Makefile.in
index 2440d811d6510a42ea122aa2ef27920800da0930..481114b7dc150d25faff9442e103193ced5d9b93 100644
--- a/src/plugins/sched/Makefile.in
+++ b/src/plugins/sched/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/sched/backfill/Makefile.in b/src/plugins/sched/backfill/Makefile.in
index fc91512c9ee7a1c9a3de38978eb5feb2fd7ab0fd..4d9918c0b60d7b6ebba3fba8d1096b57e6b3a4bf 100644
--- a/src/plugins/sched/backfill/Makefile.in
+++ b/src/plugins/sched/backfill/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/sched/builtin/Makefile.in b/src/plugins/sched/builtin/Makefile.in
index 27a7d63a7696a163427074845537cdaba431c59f..48c0391b7f3af4cf31f44986308f0fd314e897f6 100644
--- a/src/plugins/sched/builtin/Makefile.in
+++ b/src/plugins/sched/builtin/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/sched/gang/Makefile.in b/src/plugins/sched/gang/Makefile.in
index ccc5c31955c616b87f7dc89c47dc07c0df5b97f7..71feada22e6dbc6e6d097fc871e0520342079dca 100644
--- a/src/plugins/sched/gang/Makefile.in
+++ b/src/plugins/sched/gang/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/sched/hold/Makefile.in b/src/plugins/sched/hold/Makefile.in
index 453378553d0e91ae2b67e3ea6c6e105ad142f6ce..f3e45e76ed4bdde494722289f38df65a1c182efd 100644
--- a/src/plugins/sched/hold/Makefile.in
+++ b/src/plugins/sched/hold/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/sched/wiki/Makefile.in b/src/plugins/sched/wiki/Makefile.in
index a29baf0c80b72d5fece172391fbae3293dd5f17b..d2363779644cfdef21dcdf6680bc1a8be7d3822b 100644
--- a/src/plugins/sched/wiki/Makefile.in
+++ b/src/plugins/sched/wiki/Makefile.in
@@ -110,6 +110,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/sched/wiki2/Makefile.in b/src/plugins/sched/wiki2/Makefile.in
index aa31a995493ca6674ef43100ccad4123af1fd3d5..be49fc2ccf2f0a8bded722bee3aea884c70dbad7 100644
--- a/src/plugins/sched/wiki2/Makefile.in
+++ b/src/plugins/sched/wiki2/Makefile.in
@@ -113,6 +113,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/select/Makefile.in b/src/plugins/select/Makefile.in
index 1528c0132f076ff9cefb17c8ea4ba40d26d8e32e..59db5bdddf37a32927176003f37f36870a30ad95 100644
--- a/src/plugins/select/Makefile.in
+++ b/src/plugins/select/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/select/bluegene/Makefile.in b/src/plugins/select/bluegene/Makefile.in
index 3fca2c689e49f316c6345f20dafe33bb91a75ef1..e6e6eba3dbf919536a333046658595fb70d75bf4 100644
--- a/src/plugins/select/bluegene/Makefile.in
+++ b/src/plugins/select/bluegene/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/select/bluegene/block_allocator/Makefile.am b/src/plugins/select/bluegene/block_allocator/Makefile.am
index 5061e0daa4aef45b99d182478cdccac67a2afaa4..bbc7f300e98e70862782591368bb4484746a1e2b 100644
--- a/src/plugins/select/bluegene/block_allocator/Makefile.am
+++ b/src/plugins/select/bluegene/block_allocator/Makefile.am
@@ -21,6 +21,7 @@ INCLUDES = -I$(top_srcdir) $(BG_INCLUDES)
 
 
 # making a .la
+
 noinst_LTLIBRARIES = libbluegene_block_allocator.la 
 libbluegene_block_allocator_la_SOURCES =    \
 	block_allocator.c bridge_linker.c block_allocator.h bridge_linker.h
diff --git a/src/plugins/select/bluegene/block_allocator/Makefile.in b/src/plugins/select/bluegene/block_allocator/Makefile.in
index a48c96e768764ac08ecf52541c5a13b42aefaafb..954b9e87ac182eafc0197fcde3ad8a484eeff760 100644
--- a/src/plugins/select/bluegene/block_allocator/Makefile.in
+++ b/src/plugins/select/bluegene/block_allocator/Makefile.in
@@ -103,6 +103,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/select/bluegene/block_allocator/block_allocator.c b/src/plugins/select/bluegene/block_allocator/block_allocator.c
index 4a2a4a9aca4e503ba936b34ab51213ac9c2d432e..e851fd8778da6c25b7ce886946d7ebb2c21be446 100644
--- a/src/plugins/select/bluegene/block_allocator/block_allocator.c
+++ b/src/plugins/select/bluegene/block_allocator/block_allocator.c
@@ -267,6 +267,7 @@ extern int parse_blockreq(void **dest, slurm_parser_enum_t type,
 	blockreq_t *n = NULL;
 	hostlist_t hl = NULL;
 	char temp[BUFSIZE];
+
 	tbl = s_p_hashtbl_create(block_options);
 	s_p_parse_line(tbl, *leftover, leftover);
 	if(!value) {
@@ -304,7 +305,6 @@ extern int parse_blockreq(void **dest, slurm_parser_enum_t type,
 		;
 #endif
 	}
-
 	if (!s_p_get_uint16(&n->small128, "128CNBlocks", tbl)) {
 #ifdef HAVE_BGL
 		s_p_get_uint16(&n->small128, "Quarters", tbl);
diff --git a/src/plugins/select/bluegene/plugin/Makefile.am b/src/plugins/select/bluegene/plugin/Makefile.am
index da526d6e79e8b00f8c2eff05e5faabd0502abbb0..c57a2733000243fed64951eade401247aa95fb65 100644
--- a/src/plugins/select/bluegene/plugin/Makefile.am
+++ b/src/plugins/select/bluegene/plugin/Makefile.am
@@ -7,6 +7,8 @@ PLUGIN_FLAGS = -module -avoid-version --export-dynamic -lm
 
 INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src/common $(BG_INCLUDES)
 
+if BLUEGENE_LOADED
+
 pkglib_LTLIBRARIES = select_bluegene.la libsched_if64.la
 
 # Blue Gene node selection plugin.
@@ -51,3 +53,20 @@ slurm_epilog_LDFLAGS = -export-dynamic $(CMD_LDFLAGS)
 force:
 $(select_bluegene_la_LIBADD) $(sfree_LDADD) : force
 	@cd `dirname $@` && $(MAKE) `basename $@`
+
+else
+EXTRA_select_bluegene_la_SOURCES = select_bluegene.c \
+				bg_boot_time.h \
+				bg_job_place.c bg_job_place.h \
+				bg_job_run.c bg_job_run.h \
+				bg_block_info.c bg_block_info.h \
+				bg_record_functions.c bg_record_functions.h \
+				bluegene.c bluegene.h \
+				state_test.c state_test.h \
+				bg_switch_connections.c \
+				block_sys.c \
+				dynamic_block.c dynamic_block.h \
+				defined_block.c defined_block.h \
+				../wrap_rm_api.h
+
+endif
diff --git a/src/plugins/select/bluegene/plugin/Makefile.in b/src/plugins/select/bluegene/plugin/Makefile.in
index a4c38a2a88ea0b5fbe0352478cee86e71bb296fe..a5d3e2cf438f52f59737ae7bc0a40c78b9e3fd03 100644
--- a/src/plugins/select/bluegene/plugin/Makefile.in
+++ b/src/plugins/select/bluegene/plugin/Makefile.in
@@ -36,8 +36,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-sbin_PROGRAMS = slurm_prolog$(EXEEXT) slurm_epilog$(EXEEXT) \
-	sfree$(EXEEXT)
+@BLUEGENE_LOADED_TRUE@sbin_PROGRAMS = slurm_prolog$(EXEEXT) \
+@BLUEGENE_LOADED_TRUE@	slurm_epilog$(EXEEXT) sfree$(EXEEXT)
 subdir = src/plugins/select/bluegene/plugin
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -79,39 +79,66 @@ am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(sbindir)"
 pkglibLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 libsched_if64_la_LIBADD =
-am_libsched_if64_la_OBJECTS = libsched_if64.lo
+am__libsched_if64_la_SOURCES_DIST = libsched_if64.c
+@BLUEGENE_LOADED_TRUE@am_libsched_if64_la_OBJECTS = libsched_if64.lo
 libsched_if64_la_OBJECTS = $(am_libsched_if64_la_OBJECTS)
 libsched_if64_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(libsched_if64_la_LDFLAGS) $(LDFLAGS) -o $@
-select_bluegene_la_DEPENDENCIES =  \
-	../block_allocator/libbluegene_block_allocator.la
-am_select_bluegene_la_OBJECTS = select_bluegene.lo bg_job_place.lo \
-	bg_job_run.lo bg_block_info.lo bg_record_functions.lo \
-	bluegene.lo state_test.lo bg_switch_connections.lo \
-	block_sys.lo dynamic_block.lo defined_block.lo
+@BLUEGENE_LOADED_TRUE@am_libsched_if64_la_rpath = -rpath $(pkglibdir)
+@BLUEGENE_LOADED_TRUE@select_bluegene_la_DEPENDENCIES = ../block_allocator/libbluegene_block_allocator.la
+am__select_bluegene_la_SOURCES_DIST = select_bluegene.c bg_boot_time.h \
+	bg_job_place.c bg_job_place.h bg_job_run.c bg_job_run.h \
+	bg_block_info.c bg_block_info.h bg_record_functions.c \
+	bg_record_functions.h bluegene.c bluegene.h state_test.c \
+	state_test.h bg_switch_connections.c block_sys.c \
+	dynamic_block.c dynamic_block.h defined_block.c \
+	defined_block.h ../wrap_rm_api.h
+@BLUEGENE_LOADED_TRUE@am_select_bluegene_la_OBJECTS =  \
+@BLUEGENE_LOADED_TRUE@	select_bluegene.lo bg_job_place.lo \
+@BLUEGENE_LOADED_TRUE@	bg_job_run.lo bg_block_info.lo \
+@BLUEGENE_LOADED_TRUE@	bg_record_functions.lo bluegene.lo \
+@BLUEGENE_LOADED_TRUE@	state_test.lo bg_switch_connections.lo \
+@BLUEGENE_LOADED_TRUE@	block_sys.lo dynamic_block.lo \
+@BLUEGENE_LOADED_TRUE@	defined_block.lo
+am__EXTRA_select_bluegene_la_SOURCES_DIST = select_bluegene.c \
+	bg_boot_time.h bg_job_place.c bg_job_place.h bg_job_run.c \
+	bg_job_run.h bg_block_info.c bg_block_info.h \
+	bg_record_functions.c bg_record_functions.h bluegene.c \
+	bluegene.h state_test.c state_test.h bg_switch_connections.c \
+	block_sys.c dynamic_block.c dynamic_block.h defined_block.c \
+	defined_block.h ../wrap_rm_api.h
 select_bluegene_la_OBJECTS = $(am_select_bluegene_la_OBJECTS)
 select_bluegene_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(select_bluegene_la_LDFLAGS) $(LDFLAGS) -o $@
+@BLUEGENE_LOADED_TRUE@am_select_bluegene_la_rpath = -rpath \
+@BLUEGENE_LOADED_TRUE@	$(pkglibdir)
 sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(sbin_PROGRAMS)
-am_sfree_OBJECTS = sfree.$(OBJEXT) opts.$(OBJEXT) \
-	bridge_linker.$(OBJEXT)
+am__sfree_SOURCES_DIST = sfree.c sfree.h opts.c \
+	../block_allocator/bridge_linker.c \
+	../block_allocator/bridge_linker.h
+@BLUEGENE_LOADED_TRUE@am_sfree_OBJECTS = sfree.$(OBJEXT) \
+@BLUEGENE_LOADED_TRUE@	opts.$(OBJEXT) bridge_linker.$(OBJEXT)
 sfree_OBJECTS = $(am_sfree_OBJECTS)
-sfree_DEPENDENCIES = $(top_builddir)/src/api/libslurmhelper.la
+@BLUEGENE_LOADED_TRUE@sfree_DEPENDENCIES = $(top_builddir)/src/api/libslurmhelper.la
 sfree_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(sfree_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_slurm_epilog_OBJECTS = slurm_epilog.$(OBJEXT)
+am__slurm_epilog_SOURCES_DIST = slurm_epilog.c
+@BLUEGENE_LOADED_TRUE@am_slurm_epilog_OBJECTS =  \
+@BLUEGENE_LOADED_TRUE@	slurm_epilog.$(OBJEXT)
 slurm_epilog_OBJECTS = $(am_slurm_epilog_OBJECTS)
-slurm_epilog_DEPENDENCIES = $(top_builddir)/src/api/libslurmhelper.la
+@BLUEGENE_LOADED_TRUE@slurm_epilog_DEPENDENCIES = $(top_builddir)/src/api/libslurmhelper.la
 slurm_epilog_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(slurm_epilog_LDFLAGS) $(LDFLAGS) -o $@
-am_slurm_prolog_OBJECTS = slurm_prolog.$(OBJEXT)
+am__slurm_prolog_SOURCES_DIST = slurm_prolog.c
+@BLUEGENE_LOADED_TRUE@am_slurm_prolog_OBJECTS =  \
+@BLUEGENE_LOADED_TRUE@	slurm_prolog.$(OBJEXT)
 slurm_prolog_OBJECTS = $(am_slurm_prolog_OBJECTS)
-slurm_prolog_DEPENDENCIES = $(top_builddir)/src/api/libslurmhelper.la
+@BLUEGENE_LOADED_TRUE@slurm_prolog_DEPENDENCIES = $(top_builddir)/src/api/libslurmhelper.la
 slurm_prolog_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(slurm_prolog_LDFLAGS) $(LDFLAGS) -o $@
@@ -128,11 +155,13 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 SOURCES = $(libsched_if64_la_SOURCES) $(select_bluegene_la_SOURCES) \
-	$(sfree_SOURCES) $(slurm_epilog_SOURCES) \
-	$(slurm_prolog_SOURCES)
-DIST_SOURCES = $(libsched_if64_la_SOURCES) \
-	$(select_bluegene_la_SOURCES) $(sfree_SOURCES) \
+	$(EXTRA_select_bluegene_la_SOURCES) $(sfree_SOURCES) \
 	$(slurm_epilog_SOURCES) $(slurm_prolog_SOURCES)
+DIST_SOURCES = $(am__libsched_if64_la_SOURCES_DIST) \
+	$(am__select_bluegene_la_SOURCES_DIST) \
+	$(am__EXTRA_select_bluegene_la_SOURCES_DIST) \
+	$(am__sfree_SOURCES_DIST) $(am__slurm_epilog_SOURCES_DIST) \
+	$(am__slurm_prolog_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -146,6 +175,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -307,41 +337,55 @@ top_srcdir = @top_srcdir@
 AUTOMAKE_OPTIONS = foreign
 PLUGIN_FLAGS = -module -avoid-version --export-dynamic -lm
 INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src/common $(BG_INCLUDES)
-pkglib_LTLIBRARIES = select_bluegene.la libsched_if64.la
+@BLUEGENE_LOADED_TRUE@pkglib_LTLIBRARIES = select_bluegene.la libsched_if64.la
 
 # Blue Gene node selection plugin.
-select_bluegene_la_SOURCES = select_bluegene.c \
-				bg_boot_time.h \
-				bg_job_place.c bg_job_place.h \
-				bg_job_run.c bg_job_run.h \
-				bg_block_info.c bg_block_info.h \
-				bg_record_functions.c bg_record_functions.h \
-				bluegene.c bluegene.h \
-				state_test.c state_test.h \
-				bg_switch_connections.c \
-				block_sys.c \
-				dynamic_block.c dynamic_block.h \
-				defined_block.c defined_block.h \
-				../wrap_rm_api.h
-
-select_bluegene_la_LDFLAGS = $(SO_LDFLAGS) $(PLUGIN_FLAGS)
-select_bluegene_la_LIBADD = ../block_allocator/libbluegene_block_allocator.la 
+@BLUEGENE_LOADED_TRUE@select_bluegene_la_SOURCES = select_bluegene.c \
+@BLUEGENE_LOADED_TRUE@				bg_boot_time.h \
+@BLUEGENE_LOADED_TRUE@				bg_job_place.c bg_job_place.h \
+@BLUEGENE_LOADED_TRUE@				bg_job_run.c bg_job_run.h \
+@BLUEGENE_LOADED_TRUE@				bg_block_info.c bg_block_info.h \
+@BLUEGENE_LOADED_TRUE@				bg_record_functions.c bg_record_functions.h \
+@BLUEGENE_LOADED_TRUE@				bluegene.c bluegene.h \
+@BLUEGENE_LOADED_TRUE@				state_test.c state_test.h \
+@BLUEGENE_LOADED_TRUE@				bg_switch_connections.c \
+@BLUEGENE_LOADED_TRUE@				block_sys.c \
+@BLUEGENE_LOADED_TRUE@				dynamic_block.c dynamic_block.h \
+@BLUEGENE_LOADED_TRUE@				defined_block.c defined_block.h \
+@BLUEGENE_LOADED_TRUE@				../wrap_rm_api.h
+
+@BLUEGENE_LOADED_TRUE@select_bluegene_la_LDFLAGS = $(SO_LDFLAGS) $(PLUGIN_FLAGS)
+@BLUEGENE_LOADED_TRUE@select_bluegene_la_LIBADD = ../block_allocator/libbluegene_block_allocator.la 
 
 # MPIRUN dynamic lib.
-libsched_if64_la_SOURCES = libsched_if64.c 
-libsched_if64_la_LDFLAGS = $(SO_LDFLAGS) $(PLUGIN_FLAGS)
-sfree_LDADD = $(top_builddir)/src/api/libslurmhelper.la
-slurm_prolog_LDADD = $(top_builddir)/src/api/libslurmhelper.la
-slurm_epilog_LDADD = $(top_builddir)/src/api/libslurmhelper.la
-sfree_SOURCES = sfree.c sfree.h opts.c \
-		../block_allocator/bridge_linker.c \
-		../block_allocator/bridge_linker.h 
-
-slurm_prolog_SOURCES = slurm_prolog.c
-slurm_epilog_SOURCES = slurm_epilog.c
-sfree_LDFLAGS = -export-dynamic -lm $(CMD_LDFLAGS) 
-slurm_prolog_LDFLAGS = -export-dynamic $(CMD_LDFLAGS)
-slurm_epilog_LDFLAGS = -export-dynamic $(CMD_LDFLAGS)
+@BLUEGENE_LOADED_TRUE@libsched_if64_la_SOURCES = libsched_if64.c 
+@BLUEGENE_LOADED_TRUE@libsched_if64_la_LDFLAGS = $(SO_LDFLAGS) $(PLUGIN_FLAGS)
+@BLUEGENE_LOADED_TRUE@sfree_LDADD = $(top_builddir)/src/api/libslurmhelper.la
+@BLUEGENE_LOADED_TRUE@slurm_prolog_LDADD = $(top_builddir)/src/api/libslurmhelper.la
+@BLUEGENE_LOADED_TRUE@slurm_epilog_LDADD = $(top_builddir)/src/api/libslurmhelper.la
+@BLUEGENE_LOADED_TRUE@sfree_SOURCES = sfree.c sfree.h opts.c \
+@BLUEGENE_LOADED_TRUE@		../block_allocator/bridge_linker.c \
+@BLUEGENE_LOADED_TRUE@		../block_allocator/bridge_linker.h 
+
+@BLUEGENE_LOADED_TRUE@slurm_prolog_SOURCES = slurm_prolog.c
+@BLUEGENE_LOADED_TRUE@slurm_epilog_SOURCES = slurm_epilog.c
+@BLUEGENE_LOADED_TRUE@sfree_LDFLAGS = -export-dynamic -lm $(CMD_LDFLAGS) 
+@BLUEGENE_LOADED_TRUE@slurm_prolog_LDFLAGS = -export-dynamic $(CMD_LDFLAGS)
+@BLUEGENE_LOADED_TRUE@slurm_epilog_LDFLAGS = -export-dynamic $(CMD_LDFLAGS)
+@BLUEGENE_LOADED_FALSE@EXTRA_select_bluegene_la_SOURCES = select_bluegene.c \
+@BLUEGENE_LOADED_FALSE@				bg_boot_time.h \
+@BLUEGENE_LOADED_FALSE@				bg_job_place.c bg_job_place.h \
+@BLUEGENE_LOADED_FALSE@				bg_job_run.c bg_job_run.h \
+@BLUEGENE_LOADED_FALSE@				bg_block_info.c bg_block_info.h \
+@BLUEGENE_LOADED_FALSE@				bg_record_functions.c bg_record_functions.h \
+@BLUEGENE_LOADED_FALSE@				bluegene.c bluegene.h \
+@BLUEGENE_LOADED_FALSE@				state_test.c state_test.h \
+@BLUEGENE_LOADED_FALSE@				bg_switch_connections.c \
+@BLUEGENE_LOADED_FALSE@				block_sys.c \
+@BLUEGENE_LOADED_FALSE@				dynamic_block.c dynamic_block.h \
+@BLUEGENE_LOADED_FALSE@				defined_block.c defined_block.h \
+@BLUEGENE_LOADED_FALSE@				../wrap_rm_api.h
+
 all: all-am
 
 .SUFFIXES:
@@ -403,9 +447,9 @@ clean-pkglibLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libsched_if64.la: $(libsched_if64_la_OBJECTS) $(libsched_if64_la_DEPENDENCIES) 
-	$(libsched_if64_la_LINK) -rpath $(pkglibdir) $(libsched_if64_la_OBJECTS) $(libsched_if64_la_LIBADD) $(LIBS)
+	$(libsched_if64_la_LINK) $(am_libsched_if64_la_rpath) $(libsched_if64_la_OBJECTS) $(libsched_if64_la_LIBADD) $(LIBS)
 select_bluegene.la: $(select_bluegene_la_OBJECTS) $(select_bluegene_la_DEPENDENCIES) 
-	$(select_bluegene_la_LINK) -rpath $(pkglibdir) $(select_bluegene_la_OBJECTS) $(select_bluegene_la_LIBADD) $(LIBS)
+	$(select_bluegene_la_LINK) $(am_select_bluegene_la_rpath) $(select_bluegene_la_OBJECTS) $(select_bluegene_la_LIBADD) $(LIBS)
 install-sbinPROGRAMS: $(sbin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
@@ -691,9 +735,9 @@ uninstall-am: uninstall-pkglibLTLIBRARIES uninstall-sbinPROGRAMS
 	uninstall-sbinPROGRAMS
 
 
-force:
-$(select_bluegene_la_LIBADD) $(sfree_LDADD) : force
-	@cd `dirname $@` && $(MAKE) `basename $@`
+@BLUEGENE_LOADED_TRUE@force:
+@BLUEGENE_LOADED_TRUE@$(select_bluegene_la_LIBADD) $(sfree_LDADD) : force
+@BLUEGENE_LOADED_TRUE@	@cd `dirname $@` && $(MAKE) `basename $@`
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/src/plugins/select/bluegene/plugin/bg_record_functions.c b/src/plugins/select/bluegene/plugin/bg_record_functions.c
index c25e8c367a40c6c4ed8384766f384b7e52b69856..c79866501dc57298aba64b0ea7f2e009c6658aba 100644
--- a/src/plugins/select/bluegene/plugin/bg_record_functions.c
+++ b/src/plugins/select/bluegene/plugin/bg_record_functions.c
@@ -627,10 +627,14 @@ extern int add_bg_record(List records, List used_nodes, blockreq_t *blockreq)
 	int i, len;
 	int small_size = 0;
 	int small_count = 0;
+#ifdef HAVE_BGL
+	int node_cnt = 0;
 	uint16_t quarter = 0;
 	uint16_t nodecard = 0;
-	int node_cnt = 0;
-	
+#else
+	bitstr_t *ionodes = bit_alloc(bluegene_numpsets);
+	int start=0;
+#endif
 	if(!records) {
 		fatal("add_bg_record: no records list given");
 	}
@@ -738,7 +742,9 @@ extern int add_bg_record(List records, List used_nodes, blockreq_t *blockreq)
 		}
 	} else {
 		debug("adding a small block");
-#ifdef HAVE_BGL
+#ifdef HAVE_BGL // remove this clause when other works.  Only here to
+		// perserve old code 
+
 		/* if the ionode cnt for small32 is 0 then don't
 		   allow a nodecard allocation 
 		*/
@@ -753,7 +759,7 @@ extern int add_bg_record(List records, List used_nodes, blockreq_t *blockreq)
 
 		if(blockreq->small32==0 && blockreq->small128==0) {
 			info("No specs given for this small block, "
-			     "I am spliting this block into 4 small128");
+			     "I am spliting this block into 4 128CnBlocks");
 			blockreq->small128=4;
 		}		
 
@@ -762,7 +768,7 @@ extern int add_bg_record(List records, List used_nodes, blockreq_t *blockreq)
 		if(i != bluegene_bp_node_cnt)
 			fatal("There is an error in your bluegene.conf file.\n"
 			      "I am unable to request %d nodes consisting of "
-			      "%u small32 and\n%u small128 in one "
+			      "%u 32CnBlocks and\n%u 128CnBlocks in one "
 			      "base partition with %u nodes.", 
 			      i, bluegene_bp_node_cnt, 
 			      blockreq->small32, blockreq->small128);
@@ -807,31 +813,55 @@ extern int add_bg_record(List records, List used_nodes, blockreq_t *blockreq)
 		}
 		list_iterator_destroy(itr);
 		destroy_bg_record(bg_record);
-#else
+#else // remove this when testing.  Only here to perserve old code the
+      // code below is already for bgl
 		/* if the ionode cnt for small32 is 0 then don't
 		   allow a sub quarter allocation 
 		*/
-		if(!bluegene_nodecard_ionode_cnt) {
-			if(blockreq->small16) 
+		if(bluegene_nodecard_ionode_cnt < 2) {
+			if(!bluegene_nodecard_ionode_cnt && blockreq->small32) 
 				fatal("There is an error in your "
 				      "bluegene.conf file.\n"
-				      "Can't create a 16 node block with "
-				      "Numpsets=%u. (Try setting it to 32)",
+				      "Can't create a 32 node block with "
+				      "Numpsets=%u. (Try setting it "
+				      "to at least 16)",
 				      bluegene_numpsets);
-			if(blockreq->small32) 
+#ifndef HAVE_BGL
+			if(blockreq->small16) 
 				fatal("There is an error in your "
 				      "bluegene.conf file.\n"
-				      "Can't create a 32 node block with "
-				      "Numpsets=%u. (Try setting it to 32)",
+				      "Can't create a 16 node block with "
+				      "Numpsets=%u. (Try setting it to "
+				      "at least 32)",
 				      bluegene_numpsets);
-			if(blockreq->small64) 
+			if((bluegene_io_ratio < 0.5) && blockreq->small64) 
 				fatal("There is an error in your "
 				      "bluegene.conf file.\n"
 				      "Can't create a 64 node block with "
-				      "Numpsets=%u. (Try setting it to 32)",
+				      "Numpsets=%u. (Try setting it "
+				      "to at least 8)",
 				      bluegene_numpsets);
+#endif
 		}
 
+#ifdef HAVE_BGL
+		if(blockreq->small32==0 && blockreq->small128==0) {
+			info("No specs given for this small block, "
+			     "I am spliting this block into 4 128CnBlocks");
+			blockreq->small128=4;
+		}		
+
+		i = (blockreq->small32*bluegene_nodecard_node_cnt) + 
+			(blockreq->small128*bluegene_quarter_node_cnt);
+		if(i != bluegene_bp_node_cnt)
+			fatal("There is an error in your bluegene.conf file.\n"
+			      "I am unable to request %d nodes consisting of "
+			      "%u 32CnBlocks and\n%u 128CnBlocks in one "
+			      "base partition with %u nodes.", 
+			      i, blockreq->small32, blockreq->small128,
+			      bluegene_bp_node_cnt);
+		small_count = blockreq->small32+blockreq->small128; 
+#else
 		if(!blockreq->small16 && !blockreq->small32 
 		   && !blockreq->small64 && !blockreq->small128 
 		   && !blockreq->small256) {
@@ -852,15 +882,15 @@ extern int add_bg_record(List records, List used_nodes, blockreq_t *blockreq)
 			      "%u 64CNBlocks, %u 128CNBlocks, "
 			      "and %u 256CNBlocks\n"
 			      "in one base partition with %u nodes.", 
-			      i, bluegene_bp_node_cnt, 
-			      blockreq->small16, blockreq->small32, 
+			      i, blockreq->small16, blockreq->small32, 
 			      blockreq->small64, blockreq->small128, 
-			      blockreq->small256);
+			      blockreq->small256, bluegene_bp_node_cnt);
 		small_count = blockreq->small16
 			+ blockreq->small32
 			+ blockreq->small64
 			+ blockreq->small128
 			+ blockreq->small256; 
+#endif
 		/* Automatically create 2-way split if 
 		 * conn_type == SELECT_SMALL in bluegene.conf
 		 * Here we go through each node listed and do the same thing
@@ -868,41 +898,87 @@ extern int add_bg_record(List records, List used_nodes, blockreq_t *blockreq)
 		 */
 		itr = list_iterator_create(bg_record->bg_block_list);
 		while ((ba_node = list_next(itr)) != NULL) {
-			/* break base partition up into 16 parts */
-			small_size = 16;
-			node_cnt = 0;
-			quarter = 0;
-			nodecard = 0;
-			for(i=0; i<small_count; i++) {
-				if(i == blockreq->small32) {
-					/* break base partition 
-					   up into 4 parts */
-					small_size = 4;
-				}
-									
-				if(small_size == 4)
-					nodecard = (uint16_t)NO_VAL;
-				else
-					nodecard = i%4; 
+#ifndef HAVE_BGL
+			for(i=0; i<blockreq->small16; i++) {
+				bit_nset(ionodes, start, start);
 				found_record = create_small_record(bg_record,
-								   quarter,
-								   nodecard);
-								 
+								   ionodes, 16);
 				/* this needs to be an append so we
 				   keep things in the order we got
 				   them, they will be sorted later */
 				list_append(records, found_record);
-				node_cnt += bluegene_bp_node_cnt/small_size;
-				if(node_cnt == 128) {
-					node_cnt = 0;
-					quarter++;
-				}
+				bit_nclear(ionodes, start, start);
+				start++;
+			}
+#endif
+			if((small_size = bluegene_nodecard_ionode_cnt))
+				small_size--;
+			for(i=0; i<blockreq->small32; i++) {
+				bit_nset(ionodes, start, start+small_size);
+				found_record = create_small_record(bg_record,
+								   ionodes, 32);
+				/* this needs to be an append so we
+				   keep things in the order we got
+				   them, they will be sorted later */
+				list_append(records, found_record);
+				bit_nclear(ionodes, start, start+small_size);
+				start+=small_size+1;
+			}
+
+#ifndef HAVE_BGL
+			if((small_size = bluegene_nodecard_ionode_cnt * 2))
+				small_size--;
+			for(i=0; i<blockreq->small64; i++) {
+				bit_nset(ionodes, start, start+small_size);
+				found_record = create_small_record(bg_record,
+								   ionodes, 64);
+				/* this needs to be an append so we
+				   keep things in the order we got
+				   them, they will be sorted later */
+				list_append(records, found_record);
+				bit_nclear(ionodes, start, start+small_size);
+				start+=small_size+1;
+			}
+#endif
+			if((small_size = bluegene_quarter_ionode_cnt))
+				small_size--;
+			for(i=0; i<blockreq->small128; i++) {
+				bit_nset(ionodes, start, start+small_size);
+				found_record = create_small_record(
+					bg_record, ionodes, 128);
+				/* this needs to be an append so we
+				   keep things in the order we got
+				   them, they will be sorted later */
+				list_append(records, found_record);
+				bit_nclear(ionodes, start, start+small_size);
+				start+=small_size+1;
 			}
+
+#ifndef HAVE_BGL
+			if((small_size = bluegene_quarter_ionode_cnt * 2))
+				small_size--;
+			for(i=0; i<blockreq->small256; i++) {
+				bit_nset(ionodes, start, start+small_size);
+				found_record = create_small_record(
+					bg_record, ionodes, 256);
+				/* this needs to be an append so we
+				   keep things in the order we got
+				   them, they will be sorted later */
+				list_append(records, found_record);
+				bit_nclear(ionodes, start, start+small_size);
+				start+=small_size+1;
+			}
+#endif
 		}
 		list_iterator_destroy(itr);
 		destroy_bg_record(bg_record);
-#endif
+#endif // remove this when done testing
 	} 
+
+#ifndef HAVE_BGL
+	FREE_NULL_BITMAP(ionodes);
+#endif
+	
 	return SLURM_SUCCESS;
 }
 
diff --git a/src/plugins/select/bluegene/plugin/bg_switch_connections.c b/src/plugins/select/bluegene/plugin/bg_switch_connections.c
index 6661c1b91aceac82edf7729403f846413045683f..fcc0c819e5e911515ad84d684f83f4624bf5d1fd 100644
--- a/src/plugins/select/bluegene/plugin/bg_switch_connections.c
+++ b/src/plugins/select/bluegene/plugin/bg_switch_connections.c
@@ -315,8 +315,10 @@ static int _used_switches(ba_node_t* ba_node)
 	}
 	return switch_count;
 }
+
+#ifdef HAVE_BGL
 extern int configure_small_block(bg_record_t *bg_record)
-	{
+{
 	int rc = SLURM_SUCCESS;
 #ifdef HAVE_BG_FILES	
 	bool small = true;
@@ -347,6 +349,8 @@ extern int configure_small_block(bg_record_t *bg_record)
 	}
 
 	num_ncards = bg_record->node_cnt/bluegene_nodecard_node_cnt;
+	if(num_ncards < 1)
+		num_ncards = 1;
 
 	if ((rc = bridge_set_data(bg_record->bg_block,
 				  RM_PartitionNodeCardNum,
@@ -494,6 +498,224 @@ cleanup:
 	return rc;
 }
 
+#else
+
+extern int configure_small_block(bg_record_t *bg_record)
+{
+	int rc = SLURM_SUCCESS;
+#ifdef HAVE_BG_FILES	
+	bool small = true;
+	ListIterator itr;
+	ba_node_t* ba_node = NULL;
+	rm_BP_t *curr_bp = NULL;
+	rm_bp_id_t bp_id = NULL;
+	rm_nodecard_id_t nc_char = NULL;
+	int nc_id = 0;
+	int num_ncards = 0, sub_nodecard = 0, ionode_card = 0;
+	rm_nodecard_t *ncard;
+	rm_nodecard_list_t *ncard_list = NULL;
+	rm_quarter_t quarter;
+	int num, i;
+	int use_nc[16];
+	double nc_pos = 0;
+#endif
+	xassert(bg_record->ionode_bitmap);
+	if(bg_record->bp_count != 1) {
+		error("Requesting small block with %d bps, needs to be 1.",
+		      bg_record->bp_count);
+		return SLURM_ERROR;
+	}
+	
+#ifdef HAVE_BG_FILES	
+	/* set that we are doing a small block */
+	if ((rc = bridge_set_data(bg_record->bg_block, RM_PartitionSmall, 
+				  &small)) != STATUS_OK) {
+		
+		fatal("bridge_set_data(RM_PartitionPsetsPerBP)", 
+		      bg_err_str(rc));
+	}
+
+	num_ncards = bg_record->node_cnt/bluegene_nodecard_node_cnt;
+	if(num_ncards < 1) {
+		num_ncards = 1;
+		sub_nodecard = 1;
+	}
+	memset(use_nc, 0, sizeof(use_nc));
+
+	/* find out how many nodecards to get for each ionode */
+		
+	for(i = 0; i<bluegene_numpsets; i++) {
+		if(bit_test(bg_record->ionode_bitmap, i)) {
+			if(bluegene_nc_ratio > 1) {
+				for(j=0; j<bluegene_nc_ratio; j++)
+					use_nc[(int)nc_pos+j] = 1;
+			} else {
+				use_nc[(int)nc_pos] = 1;
+				if(i%2)
+					ionode_card = 1;
+			}
+		}
+		nc_pos += bluegene_nc_ratio;
+	}
+
+	if ((rc = bridge_set_data(bg_record->bg_block,
+				  RM_PartitionNodeCardNum,
+				  &num_ncards))
+	    != STATUS_OK) {
+		
+		fatal("bridge_set_data: RM_PartitionBPNum: %s", 
+		      bg_err_str(rc));
+	}
+	
+			
+	itr = list_iterator_create(bg_record->bg_block_list);
+	ba_node = list_next(itr);
+	list_iterator_destroy(itr);
+
+	if (_get_bp_by_location(bg, ba_node->coord, &curr_bp) 
+	    == SLURM_ERROR) {
+		fatal("_get_bp_by_location()");
+	}
+	
+	/* Set the one BP */
+	
+	if ((rc = bridge_set_data(bg_record->bg_block,
+				  RM_PartitionBPNum,
+				  &bg_record->bp_count)) 
+	    != STATUS_OK) {
+		
+		fatal("bridge_set_data: RM_PartitionBPNum: %s", 
+		      bg_err_str(rc));
+		return SLURM_ERROR;
+	}	
+	if ((rc = bridge_set_data(bg_record->bg_block,
+				  RM_PartitionFirstBP, 
+				  curr_bp)) 
+	    != STATUS_OK) {
+		
+		fatal("bridge_set_data("
+		      "BRIDGE_PartitionFirstBP): %s", 
+		      bg_err_str(rc));
+		return SLURM_ERROR;
+	}
+	
+	
+	/* find the bp_id of the bp to get the small32 */
+	if ((rc = bridge_get_data(curr_bp, RM_BPID, &bp_id))
+	    != STATUS_OK) {
+		error("bridge_get_data(): %d", rc);
+		return SLURM_ERROR;
+	}
+
+	
+	if(!bp_id) {
+		error("No BP ID was returned from database");
+		return SLURM_ERROR;
+	}
+
+	if ((rc = bridge_get_nodecards(bp_id, &ncard_list))
+	    != STATUS_OK) {
+		error("bridge_get_nodecards(%s): %d",
+		      bp_id, rc);
+		free(bp_id);
+		return SLURM_ERROR;
+	}
+	free(bp_id);
+		
+			
+	if((rc = bridge_get_data(ncard_list, RM_NodeCardListSize, &num))
+	   != STATUS_OK) {
+		error("bridge_get_data(RM_NodeCardListSize): %s",
+		      bg_err_str(rc));
+		return SLURM_ERROR;
+	}
+	num_ncards = 0;
+	for(i=0; i<num; i++) {
+		if (i) {
+			if ((rc = bridge_get_data(ncard_list, 
+						  RM_NodeCardListNext, 
+						  &ncard)) != STATUS_OK) {
+				error("bridge_get_data"
+				      "(RM_NodeCardListNext): %s",
+				      rc);
+				rc = SLURM_ERROR;
+				goto cleanup;
+			}
+		} else {
+			if ((rc = bridge_get_data(ncard_list, 
+						  RM_NodeCardListFirst, 
+						  &ncard)) != STATUS_OK) {
+				error("bridge_get_data"
+				      "(RM_NodeCardListFirst): %s",
+				      rc);
+				rc = SLURM_ERROR;
+				goto cleanup;
+			}
+		}
+		
+		if ((rc = bridge_get_data(ncard, 
+					  RM_NodeCardID, 
+					  &nc_char)) != STATUS_OK) {
+			error("bridge_get_data(RM_NodeCardID): %d",rc);
+			rc = SLURM_ERROR;
+			goto cleanup;
+		}
+
+		if(!nc_char) {
+			error("No NodeCard ID was returned from database");
+			return SLURM_ERROR;
+		}
+
+		nc_id = atoi((char*)nc_char+1);
+		free(nc_char);
+
+		if(!use_nc[nc_id])
+			continue;
+	
+		if (num_ncards) {
+			if ((rc = bridge_set_data(bg_record->bg_block,
+						  RM_PartitionNextNodeCard, 
+						  ncard)) 
+			    != STATUS_OK) {
+				
+				fatal("bridge_set_data("
+				      "RM_PartitionNextNodeCard): %s", 
+				      bg_err_str(rc));
+			}
+		} else {
+			if ((rc = bridge_set_data(bg_record->bg_block,
+						  RM_PartitionFirstNodeCard, 
+						  ncard)) 
+			    != STATUS_OK) {
+				
+				fatal("bridge_set_data("
+				      "RM_PartitionFirstNodeCard): %s", 
+				      bg_err_str(rc));
+			}
+		}
+		
+		num_ncards++;
+		
+		if(!sub_nodecard) 
+			continue;
+		/* FIX ME: we need to put the correct IO node here but
+		   there is no documentation to do that yet, so we
+		   don't have the ability to do that just yet */
+		error("We don't have the logic to make sub nodecard blocks");
+		rc = SLURM_ERROR;
+		goto cleanup;
+	}
+cleanup:
+	if ((rc = bridge_free_nodecard_list(ncard_list)) != STATUS_OK) {
+		error("bridge_free_nodecard_list(): %s", bg_err_str(rc));
+		return SLURM_ERROR;
+	}
+#endif
+	debug2("making the small block");
+	return rc;
+}
+#endif
+
 /**
  * connect the given switch up with the given connections
  */
diff --git a/src/plugins/select/bluegene/plugin/bluegene.c b/src/plugins/select/bluegene/plugin/bluegene.c
index 5d4dc0fd6205e35c53d3a03755d1c68d29315ad1..7a8d1e6a8907594b3bd0c6311bfce53d9d27d6c7 100644
--- a/src/plugins/select/bluegene/plugin/bluegene.c
+++ b/src/plugins/select/bluegene/plugin/bluegene.c
@@ -66,12 +66,19 @@ List bg_ramdiskimage_list = NULL;
 #ifdef HAVE_BGL
 char *default_blrtsimage = NULL;
 #endif
+List bg_valid_small32 = NULL;
+List bg_valid_small64 = NULL;
+List bg_valid_small128 = NULL;
+List bg_valid_small256 = NULL;
 char *default_linuximage = NULL;
 char *default_mloaderimage = NULL, *default_ramdiskimage = NULL;
 char *bridge_api_file = NULL; 
 char *bg_slurm_user_name = NULL;
 char *bg_slurm_node_prefix = NULL;
 bg_layout_t bluegene_layout_mode = NO_VAL;
+double bluegene_io_ratio = 0.0;
+double bluegene_nc_ratio = 0.0;
+uint16_t bluegene_proc_ratio = 0;
 uint16_t bluegene_numpsets = 0;
 uint16_t bluegene_bp_node_cnt = 0;
 uint16_t bluegene_quarter_node_cnt = 0;
@@ -108,6 +115,7 @@ static int  _bg_record_cmpf_inc(bg_record_t *rec_a, bg_record_t *rec_b);
 static int _delete_old_blocks(List bg_found_block_list);
 static char *_get_bg_conf(void);
 static int  _reopen_bridge_log(void);
+static void _destroy_bitmap(void *object);
 
 /* Initialize all plugin variables */
 extern int init_bg(void)
@@ -194,6 +202,23 @@ extern void fini_bg(void)
 		list_destroy(bg_ramdiskimage_list);
 		bg_ramdiskimage_list = NULL;
 	}
+	
+	if(bg_valid_small32) {
+		list_destroy(bg_valid_small32);
+		bg_valid_small32 = NULL;
+	}
+	if(bg_valid_small64) {
+		list_destroy(bg_valid_small64);
+		bg_valid_small64 = NULL;
+	}
+	if(bg_valid_small128) {
+		list_destroy(bg_valid_small128);
+		bg_valid_small128 = NULL;
+	}
+	if(bg_valid_small256) {
+		list_destroy(bg_valid_small256);
+		bg_valid_small256 = NULL;
+	}
 
 #ifdef HAVE_BGL
 	xfree(default_blrtsimage);
@@ -649,8 +674,13 @@ extern int bg_reboot_block(bg_record_t *bg_record)
 #endif
 		}
 		
-		if ((bg_record->state == RM_PARTITION_CONFIGURING)
-		    ||  (bg_record->state == RM_PARTITION_ERROR)) {
+		if (bg_record->state == RM_PARTITION_CONFIGURING) {
+			if(!block_exist_in_list(bg_booted_block_list,
+						bg_record))
+				list_push(bg_booted_block_list, bg_record);
+			break;
+		} else if (bg_record->state == RM_PARTITION_ERROR) {
+			remove_from_bg_list(bg_booted_block_list, bg_record);
 			break;
 		}
 		slurm_mutex_unlock(&block_state_mutex);			
@@ -1122,15 +1152,112 @@ extern int read_bg_conf(void)
 		list_push(bg_mloaderimage_list, image);		
 	}
 
+	if (!s_p_get_uint16(
+		    &bluegene_bp_node_cnt, "BasePartitionNodeCnt", tbl)) {
+		error("BasePartitionNodeCnt not configured in bluegene.conf "
+		      "defaulting to 512 as BasePartitionNodeCnt");
+		bluegene_bp_node_cnt = 512;
+		bluegene_quarter_node_cnt = 128;
+	} else {
+		if(bluegene_bp_node_cnt<=0)
+			fatal("You should have more than 0 nodes "
+			      "per base partition");
+
+		bluegene_quarter_node_cnt = bluegene_bp_node_cnt/4;
+	}
+
+	/* select_p_node_init needs to be called before this to set
+	   this up correctly
+	*/
+	bluegene_proc_ratio = procs_per_node/bluegene_bp_node_cnt;
+	if(!bluegene_proc_ratio)
+		fatal("We appear to have less than 1 proc on a cnode.  "
+		      "You specified %u for BasePartitionNodeCnt "
+		      "in the blugene.conf and %u procs "
+		      "for each node in the slurm.conf",
+		      bluegene_bp_node_cnt, procs_per_node);
+
+	if (!s_p_get_uint16(
+		    &bluegene_nodecard_node_cnt, "NodeCardNodeCnt", tbl)) {
+		error("NodeCardNodeCnt not configured in bluegene.conf "
+		      "defaulting to 32 as NodeCardNodeCnt");
+		bluegene_nodecard_node_cnt = 32;
+	}
+	
+	if(bluegene_nodecard_node_cnt<=0)
+		fatal("You should have more than 0 nodes per nodecard");
+
 	if (!s_p_get_uint16(&bluegene_numpsets, "Numpsets", tbl))
 		fatal("Warning: Numpsets not configured in bluegene.conf");
 
 	if(bluegene_numpsets) {
+		bitstr_t *tmp_bitmap = NULL;
+		int small_size = 1;
+
 		bluegene_quarter_ionode_cnt = bluegene_numpsets/4;
 		bluegene_nodecard_ionode_cnt = bluegene_quarter_ionode_cnt/4;
+
+		bluegene_nc_ratio = 
+			((double)bluegene_bp_node_cnt 
+			 / (double)bluegene_nodecard_node_cnt) 
+			/ (double)bluegene_numpsets;
+		bluegene_io_ratio = 
+			(double)bluegene_numpsets /
+			((double)bluegene_bp_node_cnt 
+			 / (double)bluegene_nodecard_node_cnt);
+
+		/* below we are creating all the possible bitmaps for
+		 * each size of small block
+		 */
 		if((int)bluegene_nodecard_ionode_cnt < 1) {
 			bluegene_nodecard_ionode_cnt = 0;
+		} else {
+			bg_valid_small32 = list_create(_destroy_bitmap);
+			if((small_size = bluegene_nodecard_ionode_cnt))
+				small_size--;
+			i = 0;
+			while(i<bluegene_numpsets) {
+				tmp_bitmap = bit_alloc(bluegene_numpsets);
+				bit_nset(tmp_bitmap, i, i+small_size);
+				i += small_size+1;
+				list_append(bg_valid_small32, tmp_bitmap);
+			}
 		}
+
+		bg_valid_small128 = list_create(_destroy_bitmap);
+		if((small_size = bluegene_quarter_ionode_cnt))
+			small_size--;
+		i = 0;
+		while(i<bluegene_numpsets) {
+			tmp_bitmap = bit_alloc(bluegene_numpsets);
+			bit_nset(tmp_bitmap, i, i+small_size);
+			i += small_size+1;
+			list_append(bg_valid_small128, tmp_bitmap);
+		}
+
+#ifndef HAVE_BGL
+		bg_valid_small64 = list_create(_destroy_bitmap);
+		if((small_size = bluegene_nodecard_ionode_cnt * 2))
+			small_size--;
+		i = 0;
+		while(i<bluegene_numpsets) {
+			tmp_bitmap = bit_alloc(bluegene_numpsets);
+			bit_nset(tmp_bitmap, i, i+small_size);
+			i += small_size+1;
+			list_append(bg_valid_small64, tmp_bitmap);
+		}
+
+		bg_valid_small256 = list_create(_destroy_bitmap);
+		if((small_size = bluegene_quarter_ionode_cnt * 2))
+			small_size--;
+		i = 0;
+		while(i<bluegene_numpsets) {
+			tmp_bitmap = bit_alloc(bluegene_numpsets);
+			bit_nset(tmp_bitmap, i, i+small_size);
+			i += small_size+1;
+			list_append(bg_valid_small256, tmp_bitmap);
+		}
+#endif			
 	} else {
 		fatal("your numpsets is 0");
 	}
@@ -1159,30 +1286,11 @@ extern int read_bg_conf(void)
 		}
 		xfree(layout);
 	}
-	if (!s_p_get_uint16(
-		    &bluegene_bp_node_cnt, "BasePartitionNodeCnt", tbl)) {
-		error("BasePartitionNodeCnt not configured in bluegene.conf "
-		      "defaulting to 512 as BasePartitionNodeCnt");
-		bluegene_bp_node_cnt = 512;
-		bluegene_quarter_node_cnt = 128;
-	} else {
-		if(bluegene_bp_node_cnt<=0)
-			fatal("You should have more than 0 nodes "
-			      "per base partition");
-
-		bluegene_quarter_node_cnt = bluegene_bp_node_cnt/4;
-	}
-
-	if (!s_p_get_uint16(
-		    &bluegene_nodecard_node_cnt, "NodeCardNodeCnt", tbl)) {
-		error("NodeCardNodeCnt not configured in bluegene.conf "
-		      "defaulting to 32 as NodeCardNodeCnt");
-		bluegene_nodecard_node_cnt = 32;
-	}
-	
-	if(bluegene_nodecard_node_cnt<=0)
-		fatal("You should have more than 0 nodes per nodecard");
 
+#ifndef HAVE_BGL
+	if(bluegene_layout_mode == LAYOUT_DYNAMIC)
+		fatal("Dynamic layout mode is only supported on a BGL system.");
+#endif
 
 	/* add blocks defined in file */
 	if(bluegene_layout_mode != LAYOUT_DYNAMIC) {
@@ -1615,3 +1723,11 @@ static int _reopen_bridge_log(void)
 	return rc;
 }
 
+static void _destroy_bitmap(void *object)
+{
+	bitstr_t *bitstr = (bitstr_t *)object;
+
+	if(bitstr) {
+		FREE_NULL_BITMAP(bitstr);
+	}
+}
diff --git a/src/plugins/select/bluegene/plugin/bluegene.h b/src/plugins/select/bluegene/plugin/bluegene.h
index f06c08aca34b6aa0b7161b847bdfa7b6f290db2c..459f2b95657a0cb21b4f5e464e5e5b7ef202856f 100644
--- a/src/plugins/select/bluegene/plugin/bluegene.h
+++ b/src/plugins/select/bluegene/plugin/bluegene.h
@@ -63,6 +63,9 @@ extern char *bridge_api_file;
 extern char *bg_slurm_user_name;
 extern char *bg_slurm_node_prefix;
 extern bg_layout_t bluegene_layout_mode;
+extern double bluegene_io_ratio;
+extern double bluegene_nc_ratio;
+extern uint16_t bluegene_proc_ratio;
 extern uint16_t bluegene_numpsets;
 extern uint16_t bluegene_bp_node_cnt;
 extern uint16_t bluegene_nodecard_node_cnt;
@@ -83,6 +86,10 @@ extern List bg_blrtsimage_list;
 extern List bg_linuximage_list;
 extern List bg_mloaderimage_list;
 extern List bg_ramdiskimage_list;
+extern List bg_valid_small32;
+extern List bg_valid_small64;
+extern List bg_valid_small128;
+extern List bg_valid_small256;
 
 extern bool agent_fini;
 extern pthread_mutex_t block_state_mutex;
diff --git a/src/plugins/select/bluegene/plugin/dynamic_block.c b/src/plugins/select/bluegene/plugin/dynamic_block.c
index 71a7f0eaaa1de43f122eb63bff71c45326f901ff..7848d5659350249679e4a31121d7284b11e0c562 100644
--- a/src/plugins/select/bluegene/plugin/dynamic_block.c
+++ b/src/plugins/select/bluegene/plugin/dynamic_block.c
@@ -57,12 +57,13 @@ extern List create_dynamic_block(List block_list,
 	bg_record_t *bg_record = NULL;
 	List results = NULL;
 	List new_blocks = NULL;
-	uint16_t num_small128=0, num_small32=0;
 	bitstr_t *my_bitmap = NULL;
 	int geo[BA_SYSTEM_DIMENSIONS];
 	int i;
 	blockreq_t blockreq;
 
+	memset(&blockreq, 0, sizeof(blockreq_t));
+
 	slurm_mutex_lock(&block_state_mutex);
 	if(my_block_list) {
 		reset_ba_system(true);
@@ -123,7 +124,7 @@ extern List create_dynamic_block(List block_list,
 		xfree(nodes);
 		FREE_NULL_BITMAP(bitmap);
 	}
-
+#ifdef HAVE_BGL
 	if(request->size==1 && request->procs < bluegene_bp_node_cnt) {
 		request->conn_type = SELECT_SMALL;
 		if(request->procs == (procs_per_node/16)) {
@@ -135,8 +136,8 @@ extern List create_dynamic_block(List block_list,
 				goto finished;
 			}
 
-			num_small32=4;
-			num_small128=3;
+			blockreq.small32=4;
+			blockreq.small128=3;
 		} else {
 			if(!bluegene_quarter_ionode_cnt) {
 				error("can't create this size %d "
@@ -145,7 +146,7 @@ extern List create_dynamic_block(List block_list,
 				      bluegene_numpsets);
 				goto finished;
 			}
-			num_small128=4;
+			blockreq.small128=4;
 		}
 		new_blocks = list_create(destroy_bg_record);
 		if(_breakup_blocks(block_list, new_blocks, 
@@ -158,7 +159,81 @@ extern List create_dynamic_block(List block_list,
 		} else 
 			goto finished;
 	}
-	
+#else
+	if(request->size==1 && request->procs < bluegene_bp_node_cnt) {
+		int cnodes = request->procs / bluegene_proc_ratio;
+		if(cnodes < bluegene_quarter_node_cnt) {
+			if(!bluegene_nodecard_ionode_cnt) {
+				error("can't create this size %d "
+				      "on this system numpsets is %d",
+				      request->procs,
+				      bluegene_numpsets);
+				goto finished;
+			}
+		} else {
+			if(!bluegene_quarter_ionode_cnt) {
+				error("can't create this size %d "
+				      "on this system numpsets is %d",
+				      request->procs,
+				      bluegene_numpsets);
+				goto finished;
+			}
+		}
+		switch(cnodes) {
+		case 16:
+			request->small16 = 1;
+			
+			blockreq.small16 = 2;
+			blockreq.small32 = 1;
+			blockreq.small64 = 1;
+			blockreq.small128 = 1;
+			blockreq.small256 = 1;
+			break;
+		case 32:
+			request->small32 = 1;
+			
+			blockreq.small32 = 2;
+			blockreq.small64 = 1;
+			blockreq.small128 = 1;
+			blockreq.small256 = 1;
+			break;
+		case 64:
+			request->small64 = 1;
+			
+			blockreq.small64 = 2;
+			blockreq.small128 = 1;
+			blockreq.small256 = 1;
+			break;
+		case 128:
+			request->small128 = 1;
+			
+			blockreq.small128 = 2;
+			blockreq.small256 = 1;
+			break;
+		case 256:
+			request->small256 = 1;
+			
+			blockreq.small256 = 2;
+			break;
+		default:
+			error("This size %d is unknown on this system", cnodes);
+			goto finished;
+			break;
+		}
+
+		request->conn_type = SELECT_SMALL;
+		new_blocks = list_create(destroy_bg_record);
+		if(_breakup_blocks(block_list, new_blocks, 
+				   request, my_block_list)
+		   != SLURM_SUCCESS) {
+			list_destroy(new_blocks);
+			new_blocks = NULL;
+			debug2("small block not able to be placed");
+			//rc = SLURM_ERROR;
+		} else 
+			goto finished;
+	}
+#endif	
 	if(request->conn_type == SELECT_NAV)
 		request->conn_type = SELECT_TORUS;
 	
@@ -243,7 +318,6 @@ no_list:
 	
 	/*set up bg_record(s) here */
 	new_blocks = list_create(destroy_bg_record);
-	memset(&blockreq, 0, sizeof(blockreq_t));
 
 	blockreq.block = request->save_name;
 #ifdef HAVE_BGL
@@ -253,8 +327,6 @@ no_list:
 	blockreq.mloaderimage = request->mloaderimage;
 	blockreq.ramdiskimage = request->ramdiskimage;
 	blockreq.conn_type = request->conn_type;
-	blockreq.small32 = num_small32;
-	blockreq.small128 = num_small128;
 
 	add_bg_record(new_blocks, results, &blockreq);
 
@@ -275,6 +347,7 @@ finished:
 	return new_blocks;
 }
 
+#ifdef HAVE_BGL
 extern bg_record_t *create_small_record(bg_record_t *bg_record, 
 					uint16_t quarter, uint16_t nodecard)
 {
@@ -314,9 +387,8 @@ extern bg_record_t *create_small_record(bg_record_t *bg_record,
 		found_record->bp_count = 1;
 	}
 	found_record->nodes = xstrdup(bg_record->nodes);
-#ifdef HAVE_BGL
+
 	found_record->blrtsimage = xstrdup(bg_record->blrtsimage);
-#endif
 	found_record->linuximage = xstrdup(bg_record->linuximage);
 	found_record->mloaderimage = xstrdup(bg_record->mloaderimage);
 	found_record->ramdiskimage = xstrdup(bg_record->ramdiskimage);
@@ -325,9 +397,8 @@ extern bg_record_t *create_small_record(bg_record_t *bg_record,
 				
 	found_record->conn_type = SELECT_SMALL;
 				
-#ifdef HAVE_BGL
 	found_record->node_use = SELECT_COPROCESSOR_MODE;
-#endif
+
 	if(nodecard != (uint16_t) NO_VAL)
 		small_size = 16;
 	found_record->cpus_per_bp = procs_per_node/small_size;
@@ -341,8 +412,74 @@ extern bg_record_t *create_small_record(bg_record_t *bg_record,
 	return found_record;
 }
 
+#else
+extern bg_record_t *create_small_record(bg_record_t *bg_record, 
+					bitstr_t *ionodes, int size)
+{
+	bg_record_t *found_record = NULL;
+	ListIterator itr = NULL;
+	ba_node_t *new_ba_node = NULL;
+	ba_node_t *ba_node = NULL;
+	char bitstring[BITSIZE];
+	found_record = (bg_record_t*) xmalloc(sizeof(bg_record_t));
+				
+	found_record->job_running = NO_JOB_RUNNING;
+	found_record->user_name = xstrdup(bg_record->user_name);
+	found_record->user_uid = bg_record->user_uid;
+	found_record->bg_block_list = list_create(destroy_ba_node);
+	itr = list_iterator_create(bg_record->bg_block_list);
+	ba_node = list_next(itr);
+	list_iterator_destroy(itr);
+	if(!ba_node)
+		error("you gave me a list with no ba_nodes");
+	else {
+		int i=0,j=0;
+		new_ba_node = ba_copy_node(ba_node);
+		for (i=0; i<BA_SYSTEM_DIMENSIONS; i++){
+			for(j=0;j<NUM_PORTS_PER_NODE;j++) {
+				ba_node->axis_switch[i].int_wire[j].used = 0;	
+				if(i!=X) {
+					if(j==3 || j==4) 
+						ba_node->axis_switch[i].
+							int_wire[j].
+							used = 1;	
+				}
+				ba_node->axis_switch[i].int_wire[j].
+					port_tar = j;
+			}
+		}
+		list_append(found_record->bg_block_list, new_ba_node);
+		found_record->bp_count = 1;
+	}
+	found_record->nodes = xstrdup(bg_record->nodes);
+#ifdef HAVE_BGL
+	found_record->blrtsimage = xstrdup(bg_record->blrtsimage);
+#endif
+	found_record->linuximage = xstrdup(bg_record->linuximage);
+	found_record->mloaderimage = xstrdup(bg_record->mloaderimage);
+	found_record->ramdiskimage = xstrdup(bg_record->ramdiskimage);
+
+	process_nodes(found_record, false);
+				
+	found_record->conn_type = SELECT_SMALL;
+				
+#ifdef HAVE_BGL
+	found_record->node_use = SELECT_COPROCESSOR_MODE;
+#endif
+	xassert(bluegene_proc_ratio);
+	found_record->cpus_per_bp = bluegene_proc_ratio * size;
+	found_record->node_cnt = size;
+
+	found_record->ionode_bitmap = bit_copy(ionodes);
+	bit_fmt(bitstring, BITSIZE, found_record->ionode_bitmap);
+	found_record->ionodes = xstrdup(bitstring);
+	return found_record;
+}
+#endif
+
 /*********************** Local Functions *************************/
 
+#ifdef HAVE_BGL
 static int _split_block(List block_list, List new_blocks,
 			bg_record_t *bg_record, int procs) 
 {
@@ -461,13 +598,11 @@ static int _breakup_blocks(List block_list, List new_blocks,
 			debug2("found it here %s, %s",
 			       bg_record->bg_block_id,
 			       bg_record->nodes);
-			request->save_name = xmalloc(4);
-			snprintf(request->save_name,
-				 4,
-				 "%c%c%c",
-				 alpha_num[bg_record->start[X]],
-				 alpha_num[bg_record->start[Y]],
-				 alpha_num[bg_record->start[Z]]);
+			request->save_name = xstrdup_printf(
+				"%c%c%c",
+				alpha_num[bg_record->start[X]],
+				alpha_num[bg_record->start[Y]],
+				alpha_num[bg_record->start[Z]]);
 			rc = SLURM_SUCCESS;
 			goto finished;
 		}
@@ -483,13 +618,11 @@ static int _breakup_blocks(List block_list, List new_blocks,
 			debug2("1 got %d on quarter %d",
 			       total_proc_cnt, last_quarter);
 			if(total_proc_cnt == request->procs) {
-				request->save_name = xmalloc(4);
-				snprintf(request->save_name, 
-					 4,
-					 "%c%c%c",
-					 alpha_num[bg_record->start[X]],
-					 alpha_num[bg_record->start[Y]],
-					 alpha_num[bg_record->start[Z]]);
+				request->save_name = xstrdup_printf(
+					"%c%c%c",
+					alpha_num[bg_record->start[X]],
+					alpha_num[bg_record->start[Y]],
+					alpha_num[bg_record->start[Z]]);
 				if(!my_block_list) {
 					rc = SLURM_SUCCESS;
 					goto finished;	
@@ -553,13 +686,11 @@ static int _breakup_blocks(List block_list, List new_blocks,
 			debug2("found it here %s, %s",
 			       bg_record->bg_block_id,
 			       bg_record->nodes);
-			request->save_name = xmalloc(4);
-			snprintf(request->save_name,
-				 4,
-				 "%c%c%c",
-				 alpha_num[bg_record->start[X]],
-				 alpha_num[bg_record->start[Y]],
-				 alpha_num[bg_record->start[Z]]);
+			request->save_name = xstrdup_printf(
+				"%c%c%c",
+				alpha_num[bg_record->start[X]],
+				alpha_num[bg_record->start[Y]],
+				alpha_num[bg_record->start[Z]]);
 			rc = SLURM_SUCCESS;
 			goto finished;
 		} 
@@ -576,13 +707,11 @@ static int _breakup_blocks(List block_list, List new_blocks,
 			debug2("got %d on quarter %d",
 			       total_proc_cnt, last_quarter);
 			if(total_proc_cnt == request->procs) {
-				request->save_name = xmalloc(4);
-				snprintf(request->save_name,
-					 4,
-					 "%c%c%c",
-					 alpha_num[bg_record->start[X]],
-					 alpha_num[bg_record->start[Y]],
-					 alpha_num[bg_record->start[Z]]);
+				request->save_name = xstrdup_printf(
+					"%c%c%c",
+					alpha_num[bg_record->start[X]],
+					alpha_num[bg_record->start[Y]],
+					alpha_num[bg_record->start[Z]]);
 				if(!my_block_list) {
 					rc = SLURM_SUCCESS;
 					goto finished;	
@@ -624,13 +753,326 @@ found_one:
 		debug2("going to split %s, %s",
 		       found_record->bg_block_id,
 		       tmp_char);
-		request->save_name = xmalloc(4);
-		snprintf(request->save_name, 
-			 4,
-			 "%c%c%c",
-			 alpha_num[found_record->start[X]],
-			 alpha_num[found_record->start[Y]],
-			 alpha_num[found_record->start[Z]]);
+		request->save_name = xstrdup_printf(
+			"%c%c%c",
+			alpha_num[found_record->start[X]],
+			alpha_num[found_record->start[Y]],
+			alpha_num[found_record->start[Z]]);
+		if(!my_block_list) {
+			rc = SLURM_SUCCESS;
+			goto finished;	
+		}
+		_split_block(block_list, new_blocks,
+			     found_record, request->procs);
+		remove_from_bg_list(block_list, bg_record);
+		destroy_bg_record(bg_record);
+		remove_from_bg_list(bg_list, found_record);
+		temp_list = list_create(NULL);
+		list_push(temp_list, found_record);
+		num_block_to_free++;
+		free_block_list(temp_list);
+		list_destroy(temp_list);
+		rc = SLURM_SUCCESS;
+		goto finished;
+	}
+	
+finished:
+	list_iterator_destroy(itr);
+		
+	return rc;
+}
+#else
+
+static int _split_block(List block_list, List new_blocks,
+			bg_record_t *bg_record, int procs) 
+{
+//	bg_record_t *found_record = NULL;
+	bool full_bp = false; 
+	int small_count = 0;
+	int small_size = 0;
+	uint16_t num_nodecard = 0, num_quarter = 0;
+	int i;
+	int node_cnt = 0;
+	uint16_t quarter = 0;
+	uint16_t nodecard = 0;
+	int cnodes = procs / bluegene_proc_ratio;
+	bitstr_t *ionodes = bit_alloc(bluegene_numpsets);
+	blockreq_t blockreq;
+	
+	switch(bg_record->node_cnt) {
+	case 16:
+		error("We got a 16 we should never have this");
+		goto finished;
+		break;
+	case 32:
+		
+		break;
+	case 64:
+		
+		break;
+	case 128:
+		
+		break;
+	case 256:
+		
+		break;
+	default:
+		full_bp = true;
+		break;
+	}
+		
+	if(bg_record->quarter == (uint16_t) NO_VAL)
+		full_bp = true;
+	
+	if(procs == (procs_per_node/16) && bluegene_nodecard_ionode_cnt) {
+		switch(cnodes) {
+		case 16:
+			
+			blockreq.small16 = 2;
+			blockreq.small32 = 1;
+			blockreq.small64 = 1;
+			blockreq.small128 = 1;
+			blockreq.small256 = 1;
+			break;
+		case 32:
+			
+			blockreq.small32 = 2;
+			blockreq.small64 = 1;
+			blockreq.small128 = 1;
+			blockreq.small256 = 1;
+			break;
+		case 64:
+			blockreq.small64 = 2;
+			blockreq.small128 = 1;
+			blockreq.small256 = 1;
+			break;
+		case 128:
+				
+			blockreq.small128 = 2;
+			blockreq.small256 = 1;
+			break;
+		case 256:
+			
+			blockreq.small256 = 2;
+			break;
+		default:
+			error("This size %d is unknown on this system", cnodes);
+			goto finished;
+			break;
+		}
+		num_nodecard=4;
+		if(full_bp)
+			num_quarter=3;
+	} else if(full_bp) {
+		num_quarter = 4;
+	} else {
+		error("you asked for something that was already this size");
+		return SLURM_ERROR;
+	}
+	debug2("asking for %d 32s from a %d block",
+	       num_nodecard, bg_record->node_cnt);
+	small_count = num_nodecard+num_quarter; 
+
+	/* break base partition up into 16 parts */
+	small_size = bluegene_bp_node_cnt/bluegene_nodecard_node_cnt;
+	node_cnt = 0;
+	if(!full_bp)
+		quarter = bg_record->quarter;
+	else
+		quarter = 0;
+	nodecard = 0;
+	for(i=0; i<small_count; i++) {
+		if(i == num_nodecard) {
+			/* break base partition up into 4 parts */
+			small_size = 4;
+		}
+		
+		if(small_size == 4)
+			nodecard = (uint16_t)NO_VAL;
+		else
+			nodecard = i%4; 
+/* 		found_record = create_small_record(bg_record, */
+/* 						   quarter, */
+/* 						   nodecard); */
+//		list_append(new_blocks, found_record);
+				
+		node_cnt += bluegene_bp_node_cnt/small_size;
+		if(node_cnt == 128) {
+			node_cnt = 0;
+			quarter++;
+		}
+	}
+finished:
+	FREE_NULL_BITMAP(ionodes);
+	return SLURM_SUCCESS;
+}
+
+static int _breakup_blocks(List block_list, List new_blocks,
+			   ba_request_t *request, List my_block_list)
+{
+	int rc = SLURM_ERROR;
+	bg_record_t *bg_record = NULL;
+	ListIterator itr;
+	int search_cnt = 0;
+	int total_cnode_cnt=0;
+	uint16_t last_quarter = (uint16_t) NO_VAL;
+	char tmp_char[256];
+	bitstr_t *ionodes = bit_alloc(bluegene_numpsets);
+	int cnodes = request->procs / bluegene_proc_ratio;
+	debug2("proc count = %d cnodes = %d size = %d",
+	       request->procs, cnodes, request->size);
+	
+	itr = list_iterator_create(block_list);	
+	/* First try with free blocks a midplane or less.  Then try with the
+	 * smallest blocks.
+	 */
+again:		
+	while ((bg_record = (bg_record_t *) list_next(itr)) != NULL) {
+		if(bg_record->job_running != NO_JOB_RUNNING)
+			continue;
+		/* on the third time through look for just a block
+		 * that isn't used */
+		
+		/* check for free blocks on the first and second time */
+		if((search_cnt < 2)
+		   && (bg_record->state != RM_PARTITION_FREE))
+				continue;
+		/* check small blocks first */
+		if((search_cnt == 0)
+		   && (bg_record->node_cnt > bluegene_bp_node_cnt))
+				continue;
+		
+		if (request->avail_node_bitmap &&
+		    !bit_super_set(bg_record->bitmap,
+				   request->avail_node_bitmap)) {
+			debug2("bg block %s has nodes not usable by this job",
+			       bg_record->bg_block_id);
+			continue;
+		}
+
+		if(request->start_req) {
+			if ((request->start[X] != bg_record->start[X])
+			    || (request->start[Y] != bg_record->start[Y])
+			    || (request->start[Z] != bg_record->start[Z])) {
+				debug4("small got %c%c%c looking for %c%c%c",
+				       alpha_num[bg_record->start[X]],
+				       alpha_num[bg_record->start[Y]],
+				       alpha_num[bg_record->start[Z]],
+				       alpha_num[request->start[X]],
+				       alpha_num[request->start[Y]],
+				       alpha_num[request->start[Z]]);
+				continue;
+			}
+			debug3("small found %c%c%c looking for %c%c%c",
+			       alpha_num[bg_record->start[X]],
+			       alpha_num[bg_record->start[Y]],
+			       alpha_num[bg_record->start[Z]],
+			       alpha_num[request->start[X]],
+			       alpha_num[request->start[Y]],
+			       alpha_num[request->start[Z]]);
+		}
+
+		if(bg_record->node_cnt == cnodes) {
+			debug2("found it here %s, %s",
+			       bg_record->bg_block_id,
+			       bg_record->nodes);
+			request->save_name = xstrdup_printf(
+				"%c%c%c",
+				alpha_num[bg_record->start[X]],
+				alpha_num[bg_record->start[Y]],
+				alpha_num[bg_record->start[Z]]);
+			rc = SLURM_SUCCESS;
+			goto finished;
+		}
+		/* lets see if we can combine some small ones */
+		if(bg_record->node_cnt < cnodes) {
+			bit_and(ionodes, bg_record->ionode_bitmap);
+			switch(cnodes) {
+			case 16:
+				break;
+			case 32:
+				break;
+			case 64:
+				break;
+			case 128:
+				break;
+			case 256:
+				break;
+			default:
+				error("We shouldn't be here with this size %d",
+				      cnodes);
+				goto finished;
+				break;				
+			}
+			if(last_quarter != bg_record->quarter){
+				last_quarter = bg_record->quarter;
+				total_cnode_cnt = cnodes;
+			} else {
+				total_cnode_cnt += cnodes;
+			}
+			debug2("1 got %d on quarter %d",
+			       total_cnode_cnt, last_quarter);
+			if(total_cnode_cnt == cnodes) {
+				request->save_name = xstrdup_printf(
+					"%c%c%c",
+					alpha_num[bg_record->start[X]],
+					alpha_num[bg_record->start[Y]],
+					alpha_num[bg_record->start[Z]]);
+				if(!my_block_list) {
+					rc = SLURM_SUCCESS;
+					goto finished;	
+				}
+						
+/* 				bg_record = create_small_record( */
+/* 					bg_record, */
+/* 					last_quarter, */
+/* 					(uint16_t) NO_VAL); */
+/* 				list_append(new_blocks, bg_record); */
+							
+				rc = SLURM_SUCCESS;
+				goto finished;	
+			}
+			continue;
+		}
+		/* we found a block that is bigger than requested */
+		break;
+	}
+	
+	if(!bg_record && (search_cnt < 2)) {
+		search_cnt++;
+		list_iterator_reset(itr);
+		last_quarter = (uint16_t) NO_VAL;
+		goto again;
+	}
+
+	if(bg_record) {
+		List temp_list = NULL;
+		bg_record_t *found_record = NULL;
+
+		if(bg_record->original) {
+			debug3("This was a copy");
+			found_record = bg_record->original;
+		} else {
+			debug3("looking for original");
+			found_record = find_org_in_bg_list(
+				bg_list, bg_record);
+		}
+		if(!found_record) {
+			error("this record wasn't found in the list!");
+			rc = SLURM_ERROR;
+			goto finished;
+		}
+		
+		format_node_name(found_record, tmp_char, sizeof(tmp_char));
+			
+		debug2("going to split %s, %s",
+		       found_record->bg_block_id,
+		       tmp_char);
+		request->save_name = xstrdup_printf(
+			"%c%c%c",
+			alpha_num[found_record->start[X]],
+			alpha_num[found_record->start[Y]],
+			alpha_num[found_record->start[Z]]);
 		if(!my_block_list) {
 			rc = SLURM_SUCCESS;
 			goto finished;	
@@ -650,7 +1092,10 @@ found_one:
 	}
 	
 finished:
+	FREE_NULL_BITMAP(ionodes);	
 	list_iterator_destroy(itr);
 		
 	return rc;
 }
+
+#endif
diff --git a/src/plugins/select/bluegene/plugin/dynamic_block.h b/src/plugins/select/bluegene/plugin/dynamic_block.h
index c98aadf1a32b492088d8a0a8584ab01242f41efe..06ad3d706f64194e300364608825d5501e99f5c2 100644
--- a/src/plugins/select/bluegene/plugin/dynamic_block.h
+++ b/src/plugins/select/bluegene/plugin/dynamic_block.h
@@ -44,6 +44,12 @@
 extern List create_dynamic_block(List block_list,
 				 ba_request_t *request, List my_block_list);
 
+#ifdef HAVE_BGL 
 extern bg_record_t *create_small_record(bg_record_t *bg_record, 
 					uint16_t quarter, uint16_t nodecard);
+#else
+extern bg_record_t *create_small_record(bg_record_t *bg_record, 
+					bitstr_t *ionodes, int size);
+#endif
+
 #endif /* _BLUEGENE_DYNAMIC_BLOCK_H_ */
diff --git a/src/plugins/select/cons_res/Makefile.in b/src/plugins/select/cons_res/Makefile.in
index b98591c6df732993b60d9198bb4dc0092eedf59e..ede76eb026b7ccf5b55cc52f45c85c9dfc7db387 100644
--- a/src/plugins/select/cons_res/Makefile.in
+++ b/src/plugins/select/cons_res/Makefile.in
@@ -109,6 +109,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/select/linear/Makefile.in b/src/plugins/select/linear/Makefile.in
index 6eeefaec2bdfdd4a34e3026eaec7b2df95774f2d..17de5b3cebd5bbd401822688358d2869d3af98ed 100644
--- a/src/plugins/select/linear/Makefile.in
+++ b/src/plugins/select/linear/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/switch/Makefile.in b/src/plugins/switch/Makefile.in
index a4587d1df8f75b52ab812373601390015f5f95c2..43a39123920a1f2b633cf3914317c4de2a6b6dc9 100644
--- a/src/plugins/switch/Makefile.in
+++ b/src/plugins/switch/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/switch/elan/Makefile.in b/src/plugins/switch/elan/Makefile.in
index f98e500694978ab46d5bf301831cd15cf5d10e1f..211b717e022562d47b929b337924696ec9285e1f 100644
--- a/src/plugins/switch/elan/Makefile.in
+++ b/src/plugins/switch/elan/Makefile.in
@@ -114,6 +114,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/switch/federation/Makefile.in b/src/plugins/switch/federation/Makefile.in
index e0f5f292f9bf8a0cb0d9b1be49a809715694a509..80d48b6cfa61b9efb39de067c6168d4506031ce6 100644
--- a/src/plugins/switch/federation/Makefile.in
+++ b/src/plugins/switch/federation/Makefile.in
@@ -117,6 +117,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/switch/none/Makefile.in b/src/plugins/switch/none/Makefile.in
index f68cbd1a402c5c5950975e07ad11dab92f9153ac..5585070560d57c0a5461be65a80129dd9a8031e6 100644
--- a/src/plugins/switch/none/Makefile.in
+++ b/src/plugins/switch/none/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/task/Makefile.in b/src/plugins/task/Makefile.in
index deabe6e026b1ba386bde58d249ce6c8483a0211a..cab8c096eda580290c94da954bfe0217ada2a850 100644
--- a/src/plugins/task/Makefile.in
+++ b/src/plugins/task/Makefile.in
@@ -90,6 +90,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/task/affinity/Makefile.in b/src/plugins/task/affinity/Makefile.in
index c52ed708d9183d25d8019b7978be9ea534a82ad7..b9c5acd93486c5530a48c6e5d2a33a8780673301 100644
--- a/src/plugins/task/affinity/Makefile.in
+++ b/src/plugins/task/affinity/Makefile.in
@@ -120,6 +120,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/plugins/task/none/Makefile.in b/src/plugins/task/none/Makefile.in
index a8a0b0cd67da35febf42f892c2b1f15b829996c0..2f9ce951ba0e3bf8bfbb8f5dc97bf321a137a0b7 100644
--- a/src/plugins/task/none/Makefile.in
+++ b/src/plugins/task/none/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/sacct/Makefile.in b/src/sacct/Makefile.in
index 6ea7cd17deb45cedb333c5aea71ab7f5722fa6d7..8d075ad2b316ade72128cb38177a7e6ed197bd4a 100644
--- a/src/sacct/Makefile.in
+++ b/src/sacct/Makefile.in
@@ -107,6 +107,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/sacctmgr/Makefile.in b/src/sacctmgr/Makefile.in
index d40fb0a99427dfb4f6bdbe98ef7f1389317804af..25b6804c2536f80dd3befe11ca2bae4f20c9da3f 100644
--- a/src/sacctmgr/Makefile.in
+++ b/src/sacctmgr/Makefile.in
@@ -109,6 +109,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/salloc/Makefile.in b/src/salloc/Makefile.in
index 8a8321a9489b9c4e13d86734ca87aeaa86fda3b9..f9008d5dce07f9583a92b8ed723ec37c0ab0f432 100644
--- a/src/salloc/Makefile.in
+++ b/src/salloc/Makefile.in
@@ -104,6 +104,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/sattach/Makefile.in b/src/sattach/Makefile.in
index 778c65fb4be10863aa2887cd8dcc47058a496240..a024c8517812d2555e69d8c29c8b979c291fd0c2 100644
--- a/src/sattach/Makefile.in
+++ b/src/sattach/Makefile.in
@@ -105,6 +105,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/sbatch/Makefile.in b/src/sbatch/Makefile.in
index e3609ea9cc2b1e1aa2fa34876d77c18037f301ac..e651ccf00f6616f72133c56bed91774538c3cc8b 100644
--- a/src/sbatch/Makefile.in
+++ b/src/sbatch/Makefile.in
@@ -104,6 +104,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/sbcast/Makefile.in b/src/sbcast/Makefile.in
index dbb68faa572d08eff0cfe405c087cbb306f6bd92..6177bba8b8ce11488d0c11708a8884aea9461f30 100644
--- a/src/sbcast/Makefile.in
+++ b/src/sbcast/Makefile.in
@@ -107,6 +107,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/scancel/Makefile.in b/src/scancel/Makefile.in
index 7e149c5e1c54dc4486728b9c44cd6bf78c282e98..542c363fac0030735da4124cc5faa35ea3db5ce0 100644
--- a/src/scancel/Makefile.in
+++ b/src/scancel/Makefile.in
@@ -106,6 +106,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/scontrol/Makefile.in b/src/scontrol/Makefile.in
index e27720ce943487b8dbcfc0ddd03684d18235cecf..1e174c34e571947e4d30ada061f90bbc2cc67082 100644
--- a/src/scontrol/Makefile.in
+++ b/src/scontrol/Makefile.in
@@ -107,6 +107,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/sinfo/Makefile.in b/src/sinfo/Makefile.in
index a867a797407bcd045265e439bfca24d037c4694f..2c43b38e6963bafec7ba0f7157f8d18a6fd17de6 100644
--- a/src/sinfo/Makefile.in
+++ b/src/sinfo/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/slurmctld/Makefile.in b/src/slurmctld/Makefile.in
index 509d3fd2ca6e10e0ef33b18796750891f49b1630..d2e307c1f174a69e6847d7c11e5e6815ef79f49b 100644
--- a/src/slurmctld/Makefile.in
+++ b/src/slurmctld/Makefile.in
@@ -112,6 +112,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/slurmd/Makefile.in b/src/slurmd/Makefile.in
index 3f76527516ca3042507e83ebabc97829d598640b..8550eb1c2982b6e8e975506970e2bab03cafcace 100644
--- a/src/slurmd/Makefile.in
+++ b/src/slurmd/Makefile.in
@@ -88,6 +88,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/slurmd/slurmd/Makefile.in b/src/slurmd/slurmd/Makefile.in
index 13c7f21a5bd546a0ddcc730c040b4759fa0c5ce2..1035da9a8aa7929991951bd106fed2ba2d9b898f 100644
--- a/src/slurmd/slurmd/Makefile.in
+++ b/src/slurmd/slurmd/Makefile.in
@@ -111,6 +111,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/slurmd/slurmstepd/Makefile.in b/src/slurmd/slurmstepd/Makefile.in
index 7b1bbc1d31860e2b0b5acb3b5c28e60deb8a991c..e36851d7677d345a9c0b452377b6868de530899c 100644
--- a/src/slurmd/slurmstepd/Makefile.in
+++ b/src/slurmd/slurmstepd/Makefile.in
@@ -113,6 +113,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/slurmdbd/Makefile.in b/src/slurmdbd/Makefile.in
index 8f725dcefbb32dface3d12139fd3caea254cc7ac..3bb71e1c911ffaf96fed55ff64025f7061dcc093 100644
--- a/src/slurmdbd/Makefile.in
+++ b/src/slurmdbd/Makefile.in
@@ -106,6 +106,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/slurmdbd/rpc_mgr.c b/src/slurmdbd/rpc_mgr.c
index 6175170583d53f0d9cd48ba6fe0cab04acc4bc89..0ffb3ec30ced7634f75f190ebdb3b1a6b930f206 100644
--- a/src/slurmdbd/rpc_mgr.c
+++ b/src/slurmdbd/rpc_mgr.c
@@ -222,14 +222,13 @@ static void * _service_connection(void *arg)
 			rc = proc_req(
 				conn, msg, msg_size, first, &buffer, &uid);
 			first = false;
-			if (rc == ESLURM_ACCESS_DENIED
-			    || rc == SLURM_PROTOCOL_VERSION_ERROR) {
-				fini = true;
-			} else if (rc != SLURM_SUCCESS) {
+			if (rc != SLURM_SUCCESS) {
 				error("Processing last message from "
 				      "connection %d(%s) uid(%d)",
 				      conn->newsockfd, conn->ip, uid);
-				//fini = true;
+				if (rc == ESLURM_ACCESS_DENIED
+				    || rc == SLURM_PROTOCOL_VERSION_ERROR) 
+					fini = true;
 			}
 		} else {
 			buffer = make_dbd_rc_msg(conn->rpc_version,
diff --git a/src/smap/Makefile.in b/src/smap/Makefile.in
index 3e2a65e2079827f67f34520202def40972a31610..39b58755e4fa332d9a952777945f5a5c1303c739 100644
--- a/src/smap/Makefile.in
+++ b/src/smap/Makefile.in
@@ -121,6 +121,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/squeue/Makefile.in b/src/squeue/Makefile.in
index ca617dd254bf9309000fb754b2b62b3e99efdd0d..f957057b2aa2365a81acba73386f162151a7f443 100644
--- a/src/squeue/Makefile.in
+++ b/src/squeue/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/sreport/Makefile.in b/src/sreport/Makefile.in
index b472594ce1b79d879baa26add6537805f7ce40ae..ddc79ca269e25c2954c2bca1d4c3416b9eb400cd 100644
--- a/src/sreport/Makefile.in
+++ b/src/sreport/Makefile.in
@@ -107,6 +107,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/srun/Makefile.am b/src/srun/Makefile.am
index 5809c715abf848bd598de1b8fc6221711e742a3c..f16818e2a87d674ac7f74aa09bd64ca21457c46f 100644
--- a/src/srun/Makefile.am
+++ b/src/srun/Makefile.am
@@ -35,10 +35,10 @@ force:
 $(convenience_libs) : force
 	@cd `dirname $@` && $(MAKE) `basename $@`
 
-# debugging information is required for symbols in the attach 
-# module so that a debugger can attach to spawned tasks
-attach.o : attach.c
-	$(COMPILE) -c -g -o attach.o $(srcdir)/attach.c 
+# debugging information is required for symbols in the debugger 
+# module so that a debugger can debugger to spawned tasks
+debugger.o : debugger.c
+	$(COMPILE) -c -g -o debugger.o $(srcdir)/debugger.c 
 
 install-exec-local:
 	umask 022; \
diff --git a/src/srun/Makefile.in b/src/srun/Makefile.in
index 87d077da0510239a5f6f226ed7d29db396b6c544..04eae681e5867736b11dc503168f847665c9e773 100644
--- a/src/srun/Makefile.in
+++ b/src/srun/Makefile.in
@@ -107,6 +107,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
@@ -584,10 +585,10 @@ force:
 $(convenience_libs) : force
 	@cd `dirname $@` && $(MAKE) `basename $@`
 
-# debugging information is required for symbols in the attach 
-# module so that a debugger can attach to spawned tasks
-attach.o : attach.c
-	$(COMPILE) -c -g -o attach.o $(srcdir)/attach.c 
+# debugging information is required for symbols in the debugger 
+# module so that a debugger can debugger to spawned tasks
+debugger.o : debugger.c
+	$(COMPILE) -c -g -o debugger.o $(srcdir)/debugger.c 
 
 install-exec-local:
 	umask 022; \
diff --git a/src/sshare/Makefile.in b/src/sshare/Makefile.in
index fc1f4cc4f6b6a05c2a6a92bcdd45881807485f60..0cd93fadbd19cc4ee3b0908e3dbe0d8b3fc38d80 100644
--- a/src/sshare/Makefile.in
+++ b/src/sshare/Makefile.in
@@ -105,6 +105,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/sstat/Makefile.in b/src/sstat/Makefile.in
index 978f3f10065f419a839d8302ce55e7d964c4f701..b64dce767663e813dc92adc58c62d9567d6a3d69 100644
--- a/src/sstat/Makefile.in
+++ b/src/sstat/Makefile.in
@@ -107,6 +107,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/strigger/Makefile.in b/src/strigger/Makefile.in
index 0182c39af9e8fdefacf4c2e46a173c21d3f42478..74967650146a40173694195850a65f7d81a13946 100644
--- a/src/strigger/Makefile.in
+++ b/src/strigger/Makefile.in
@@ -107,6 +107,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/src/sview/Makefile.in b/src/sview/Makefile.in
index 4ac9f03e205b23302e53f2d404624b183da5c4fe..117661aff77608774fc4add75f24557984ddd434 100644
--- a/src/sview/Makefile.in
+++ b/src/sview/Makefile.in
@@ -125,6 +125,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
index 665e64e38ce98f23d0672e7a220739f2b7d6e15e..8f0cefcd72490b60991b35a36ba6c3c59a57d88c 100644
--- a/testsuite/Makefile.in
+++ b/testsuite/Makefile.in
@@ -95,6 +95,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/testsuite/expect/Makefile.in b/testsuite/expect/Makefile.in
index 066d5ed60ee7b2c2989563d99f95d8141119b760..98fdfeb485c4d7a32d852dc81e3d38eeb566f63f 100644
--- a/testsuite/expect/Makefile.in
+++ b/testsuite/expect/Makefile.in
@@ -76,6 +76,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/testsuite/slurm_unit/Makefile.in b/testsuite/slurm_unit/Makefile.in
index 6697112ab69a4df39a4b8ab0efb1518e724feb86..9531a6e88f6ad35eeec45e1f26154435750cd46a 100644
--- a/testsuite/slurm_unit/Makefile.in
+++ b/testsuite/slurm_unit/Makefile.in
@@ -88,6 +88,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/testsuite/slurm_unit/api/Makefile.in b/testsuite/slurm_unit/api/Makefile.in
index d5d7b66f001b337a4f79ada895909477ac263d45..1a39202f482d276970b913d17a8440ebf5f2fc46 100644
--- a/testsuite/slurm_unit/api/Makefile.in
+++ b/testsuite/slurm_unit/api/Makefile.in
@@ -108,6 +108,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/testsuite/slurm_unit/api/manual/Makefile.in b/testsuite/slurm_unit/api/manual/Makefile.in
index a9f8c0c2db9caf8aeb88867a2491a643f5fa7909..4b2b4d6a32160b639d1253a955f132881baf5029 100644
--- a/testsuite/slurm_unit/api/manual/Makefile.in
+++ b/testsuite/slurm_unit/api/manual/Makefile.in
@@ -130,6 +130,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/testsuite/slurm_unit/common/Makefile.in b/testsuite/slurm_unit/common/Makefile.in
index e6136caff1bb5b1b1caa4d0a40f45a1c09389fac..f1efa016476701c1bf035ad7a01499fce50d3bee 100644
--- a/testsuite/slurm_unit/common/Makefile.in
+++ b/testsuite/slurm_unit/common/Makefile.in
@@ -116,6 +116,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/testsuite/slurm_unit/slurmctld/Makefile.in b/testsuite/slurm_unit/slurmctld/Makefile.in
index 01fa982519f4dd76214ed6464832897d87fe89da..cc12fd7093d2785031666750df0ce2a801c6e22a 100644
--- a/testsuite/slurm_unit/slurmctld/Makefile.in
+++ b/testsuite/slurm_unit/slurmctld/Makefile.in
@@ -79,6 +79,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
diff --git a/testsuite/slurm_unit/slurmd/Makefile.in b/testsuite/slurm_unit/slurmd/Makefile.in
index 5231f2e2188cc55465e9aa6b43395b879a42f944..50b756aef77c2d292a646d6ee1ed9a98f5ecb562 100644
--- a/testsuite/slurm_unit/slurmd/Makefile.in
+++ b/testsuite/slurm_unit/slurmd/Makefile.in
@@ -79,6 +79,7 @@ AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BG_INCLUDES = @BG_INCLUDES@
+BLUEGENE_LOADED = @BLUEGENE_LOADED@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@