Thanks Paul - appreciate the help! I chatted with Nathan this evening and now have a much better understanding of the problem driving the code. We are going to review it tomorrow. Hope to have a fix shortly.
On Jan 28, 2013, at 9:01 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > It looks now like the very first line of ORTE_CHECK_ALPS is actually the one > that is preventing $1_CPPFLAGS from getting set for any caller other than the > first: > if test -z "$orte_check_alps_happy"; then > > So, my previous patch (tested by editing configure directly) didn't do the > job. > > Again, this probably slipped past Nathan because under CLE4 the alps headers > are under /usr/include and therefore the missing CPPFLAGS were not actually > required. > > -Paul > > > > On Mon, Jan 28, 2013 at 7:05 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > 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 > > > > > On Mon, Jan 28, 2013 at 6:30 PM, Ralph Castain <r...@open-mpi.org> wrote: > Like I said, I didn't write this code - all I can say for certain is that it > gets the right answer on the LANL Crays. I'll talk to Nathan (the author) > about it tomorrow. > > On Jan 28, 2013, at 6:23 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > >> Ralph writes >> ?? It looks correct to me - if with_alps is "yes", then no path was given >> and we have to look at a default location. If it isn't yes, then a path was >> given and we use it. >> Am I missing something? >> >> Maybe *I* am the one missing something, but the way I read it the following >> defaults are applied >> >> CLE4: >> orte_check_alps_libdir="/usr/lib/alps" >> orte_check_alps_dir="/opt/cray/alps/default" >> CLE5: >> orte_check_alps_libdir="/opt/cray/alps/default/lib64" >> orte_check_alps_dir="/usr" >> >> Unless I am mistaken, the defaults for orte_check_alps_dir should be >> exchanged to yield: >> >> CLE4: >> orte_check_alps_libdir="/usr/lib/alps" >> orte_check_alps_dir="/usr" >> CLE5: >> orte_check_alps_libdir="/opt/cray/alps/default/lib64" >> orte_check_alps_dir="/opt/cray/alps/default" >> >> -Paul >> >> >> On Mon, Jan 28, 2013 at 6:14 PM, Ralph Castain <r...@open-mpi.org> wrote: >> >> On Jan 28, 2013, at 6:10 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: >> >>> The following 2 fragment from config/orte_check_alps.m4 appear to be >>> contradictory. >>> By that I mean the first appears to mean that "--with-alps" with no >>> argument means /opt/cray/alps/default/... for CLE5 and /usr/... for CLE4, >>> while the second fragment appears to be doing the opposite: >>> >>> if test "$using_cle5_install" = "yes"; then >>> orte_check_alps_libdir="/opt/cray/alps/default/lib64" >>> else >>> orte_check_alps_libdir="/usr/lib/alps" >>> fi >>> >>> >>> if test "$using_cle5_install" = "yes" ; then >>> AS_IF([test "$with_alps" = "yes"], >>> [orte_check_alps_dir="/usr"], >>> [orte_check_alps_dir="$with_alps"]) >>> else >>> AS_IF([test "$with_alps" = "yes"], >>> [orte_check_alps_dir="/opt/cray/alps/default"], >>> [orte_check_alps_dir="$with_alps"]) >>> fi >>> >>> At least based on header and lib locations on NERSC's XC30 (CLE 5.0.15) and >>> XE6 (CLE 4.1.40), the first fragment is correctwhile the second fragment is >>> "backwards" (the two calls to AS_IF should be exchanged, or the initial >>> "test" should be inverted). >> >> ?? It looks correct to me - if with_alps is "yes", then no path was given >> and we have to look at a default location. If it isn't yes, then a path was >> given and we use it. >> >> Am I missing something? >> >>> >>> Note this same logic is present in both trunk and v1.7 (in SVN - I am not >>> looking at tarballs this time). >>> >>> -Paul >>> >>> >>> >>> >>> >>> >>> -- >>> Paul H. Hargrove phhargr...@lbl.gov >>> Future Technologies Group >>> Computer and Data Sciences Department Tel: +1-510-495-2352 >>> Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 >>> _______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >> >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel >> >> >> >> -- >> Paul H. Hargrove phhargr...@lbl.gov >> Future Technologies Group >> Computer and Data Sciences Department Tel: +1-510-495-2352 >> Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel > > > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > > > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel