Ralph and Nathan,
As I said, the results I see fail to match the actual ALPS header locations on both CLE4 and CLE5 systems at NERSC.
However, the CLE4 system "just works" because the actual location (/usr/include) gets searched no matter what value configure picks for $orte_check_alps_dir. I suspect that this is why you didn't see any errors on LANL's system.
Regardless of the defaults, there is still an additional issue with orte_check_alps.m4 that occurs when I give an explicit with-alps=/opt/cray/alps/default in the platform file, which the following bit of config.log confirms:
configure:99227: checking --with-alps value
configure:99247: result: sanity check ok (/opt/cray/alps/default)
configure:99329: checking for alps libraries in "/opt/cray/alps/default/lib64"
configure:99334: result: found
However, when trying to configure the ras:alps component, the value of ras_alps_CPPFLAGS does not contain "-I/opt/cray/alps/default/include" as I would have expected from reading the relevant .m4 files and the generated configure script:
configure:113697: checking for MCA component ras:alps compile mode
configure:113703: result: static
configure:113871: checking alps/apInfo.h usability
configure:113871: gcc -std=gnu99 -c -O3 -DNDEBUG -march=amdfam10 -finline-functions -fno-strict-aliasing -fexceptions -pthread -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.9a1r27905/opal/mca/hwloc/hwloc151/hwloc/include -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.9a1r27905/BUILD-edison-gcc/opal/mca/hwloc/hwloc151/hwloc/include -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.9a1r27905/opal/mca/event/libevent2019/libevent -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.9a1r27905/opal/mca/event/libevent2019/libevent/include -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.9a1r27905/BUILD-edison-gcc/opal/mca/event/libevent2019/libevent/include -I/opt/cray/pmi/default/include -I/opt/cray/pmi/default/include -I/opt/cray/pmi/default/include -I/opt/cray/pmi/default/include conftest.c >&5
conftest.c:640:25: fatal error: alps/apInfo.h: No such file or directory
compilation terminated.
configure:113871: $? = 1
While only 95% certain, I think that this logic in config/orte_check_alps.m4 is to blame:
if test "$with_alps" = "no" -o -z "$with_alps" ; then
orte_check_alps_happy="no"
else
# Only need to do these tests once (this macro is invoked
# from multiple different components' configure.m4 scripts
Specifically, the setting of "$1_CPPFLAGS" appears to be ERRONEOUSLY placed within the else-clause of the logic above. So, when orte/mca/ess/alps/configure.m4 is run BEFORE orte/mca/ras/alps/configure.m4, the variable "with_alps" gets set and the "$1_CPPFLAGS=..." is then unreachable when the ORTE_CHECK_ALPS macro is run later from config/orte_check_alps.m4.
Though it leaves the indentation sloppy, I believe the following might fix the problem, but I lack the autotools versions to test this myself:
--- config/orte_check_alps.m4 (revision 27954)
+++ config/orte_check_alps.m4 (working copy)
@@ -80,6 +80,7 @@
[orte_check_alps_dir="/opt/cray/alps/default"],
[orte_check_alps_dir="$with_alps"])
fi
+ fi
$1_CPPFLAGS="-I$orte_check_alps_dir/include"
$1_LDFLAGS="-L$orte_check_alps_libdir"
@@ -106,7 +107,6 @@
AC_MSG_ERROR([Cannot continue])])
fi
fi
- fi
fi
AS_IF([test "$orte_check_alps_happy" = "yes"],
-Paul