Here's the patch I provided - seems to work just fine. Just waiting for David's 
confirmation on his system.

Attachment: config.diff
Description: Binary data

On May 23, 2012, at 7:50 PM, Jeff Squyres wrote:

> On May 23, 2012, at 5:25 PM, Barrett, Brian W wrote:
> 
>> It shouldn't be before AM_INIT_AUTOMAKE, that's just busted and needs to
>> be fixed in hwloc...
> 
> I don't think that's right.  It's an AC macro, not an AM macro, so it can 
> come before AM_INIT_AUTOMAKE.
> 
> Here's what happens if you put it before AM_INIT_AUTOMAKE:
> 
> ----
> [21:49] jsquyres-mac:~/tmp/foo % cat configure.ac
> AC_INIT([bogus], [1.0], [http://example.com], [bogus])
> AC_CONFIG_AUX_DIR(./config)
> AC_CONFIG_MACRO_DIR(./config)
> 
> AC_CANONICAL_TARGET
> AM_INIT_AUTOMAKE([1.10 foreign -Wall -Werror])
> 
> AC_CONFIG_FILES([Makefile])
> AC_OUTPUT
> [21:49] jsquyres-mac:~/tmp/foo % autoreconf -ivf && ./configure
> autoreconf: Entering directory `.'
> ....it works fine
> -----
> 
> But if you flip CANONICAL_TARGET / INIT_AUTOMAKE:
> 
> -----
> [21:50] jsquyres-mac:~/tmp/foo % autoreconf -ivf && ./configure
> autoreconf: Entering directory `.'
> autoreconf: configure.ac: not using Gettext
> autoreconf: running: aclocal --force 
> configure.ac:6: warning: AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET
> ../../lib/autoconf/general.m4:1834: AC_CANONICAL_TARGET is expanded from...
> configure.ac:6: the top level
> autoreconf: configure.ac: tracing
> configure.ac:6: warning: AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET
> ../../lib/autoconf/general.m4:1834: AC_CANONICAL_TARGET is expanded from...
> configure.ac:6: the top level
> autoreconf: configure.ac: not using Libtool
> autoreconf: running: /opt/local/bin/autoconf --force
> configure.ac:6: warning: AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET
> ../../lib/autoconf/general.m4:1834: AC_CANONICAL_TARGET is expanded from...
> configure.ac:6: the top level
> autoreconf: configure.ac: not using Autoheader
> autoreconf: running: automake --add-missing --copy --force-missing
> configure.ac:6: warning: AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET
> ../../lib/autoconf/general.m4:1834: AC_CANONICAL_TARGET is expanded from...
> configure.ac:6: the top level
> autoreconf: Leaving directory `.'
> .........etc.
> -----
> 
> configure does seem to run ok, but I didn't include any other tests (like 
> AC_PROG_CC), etc.  I have a dim recollection that other things would break, 
> but am too tired to test that right now.
> 
> 
>> Brian
>> 
>> On 5/23/12 3:23 PM, "Jeff Squyres" <jsquy...@cisco.com> wrote:
>> 
>>> Yea, the CANONICAL_HOST thing is because of hwloc; sorry...  It needs to
>>> be very, very early in configure.ac.  So getting the ordering wrong there
>>> was probably my fault; sorry.
>>> 
>>> On May 23, 2012, at 4:53 PM, Ralph Castain wrote:
>>> 
>>>> Ah, okay - didn't realize that ordering. I'll fix it - thanks!
>>>> 
>>>> On May 23, 2012, at 2:49 PM, Barrett, Brian W wrote:
>>>> 
>>>>> Not sure what you mean; the file's loaded in OMPI_LOAD_PLATFORM, at
>>>>> which
>>>>> point all the contents of the file are evaluated as environment
>>>>> variables.
>>>>> The real problem is that someone really screwed up configure somewhere
>>>>> along the way and called AC_CONONICAL_HOST before AM_INIT_AUTOMAKE,
>>>>> which
>>>>> means AC_PROG_GCC got evaluated really early, before
>>>>> OMPI_LOAD_PLATFORM is
>>>>> evaluated.  It really needs to be evaluated before any non-init macros.
>>>>> 
>>>>> Brian
>>>>> 
>>>>> On 5/23/12 2:44 PM, "Ralph Castain" <r...@open-mpi.org> wrote:
>>>>> 
>>>>>> I'm looking at it...
>>>>>> 
>>>>>> We pickup the file at the right place, but we don't pull any of the
>>>>>> flags
>>>>>> out of it until later. I'm trying to see if I can adjust it.
>>>>>> 
>>>>>> BTW: none of this changed from the 1.5 series, so this has been the
>>>>>> situation for a very long time.
>>>>>> 
>>>>>> 
>>>>>> On May 23, 2012, at 2:41 PM, Barrett, Brian W wrote:
>>>>>> 
>>>>>>> Yup, it sucks.  But that's not supported functionality.  Someone
>>>>>>> could
>>>>>>> possibly desire to support it, but I could never get behavior I was
>>>>>>> comfortable with, so I'm not making promises that should work.  The
>>>>>>> platform thing is a real hack to begin with in terms of what it does
>>>>>>> to
>>>>>>> autoconf...
>>>>>>> 
>>>>>>> Brian
>>>>>>> 
>>>>>>> On 5/23/12 2:37 PM, "Gunter, David O" <d...@lanl.gov> wrote:
>>>>>>> 
>>>>>>>> So perhaps I should stop calling them environment variables. Since
>>>>>>>> one
>>>>>>>> can always do something like
>>>>>>>> 
>>>>>>>> $ ./configure CFLAGS="-I/usr/include/specialK" ...
>>>>>>>> 
>>>>>>>> a line such as
>>>>>>>> 
>>>>>>>> CFLAGS="-I/usr/include/specialK"
>>>>>>>> 
>>>>>>>> should be supported by the platform file reader.  No two systems are
>>>>>>>> alike here and we need these platform files to manage the dozens of
>>>>>>>> different OMPI builds. We have different paths for the IB libs,
>>>>>>>> Panasas
>>>>>>>> file system libs and includes, etc.  Essentially, we're not going to
>>>>>>>> 1.6
>>>>>>>> at the moment.
>>>>>>>> 
>>>>>>>> -david
>>>>>>>> 
>>>>>>>> --
>>>>>>>> David Gunter
>>>>>>>> HPC-3: Infrastructure Team
>>>>>>>> Los Alamos National Laboratory
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On May 23, 2012, at 2:23 PM, Barrett, Brian W wrote:
>>>>>>>> 
>>>>>>>>> David -
>>>>>>>>> 
>>>>>>>>> Where exactly the platform file gets evaluated depends on a number
>>>>>>>>> of
>>>>>>>>> things that the OMPI developers don't have a lot of control over.
>>>>>>>>> It
>>>>>>>>> was
>>>>>>>>> never meant to be used to set environment variables, only command
>>>>>>>>> line
>>>>>>>>> arguments.  It looks like something bad has happened with ordering;
>>>>>>>>> I'm
>>>>>>>>> not sure when I'll be able to take a look, but we should be able to
>>>>>>>>> make
>>>>>>>>> it evaluate sooner...
>>>>>>>>> 
>>>>>>>>> Brian
>>>>>>>>> 
>>>>>>>>> On 5/23/12 2:16 PM, "Gunter, David O" <d...@lanl.gov> wrote:
>>>>>>>>> 
>>>>>>>>>> I think I have some understanding of what is happening. In version
>>>>>>>>>> 1.6,
>>>>>>>>>> the check for the platform file occurs after some basic compiler
>>>>>>>>>> testing
>>>>>>>>>> has already occured:
>>>>>>>>>> 
>>>>>>>>>> (dog@tu-fe1 61%) ./configure --with-platform=non-existant
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> ===================================================================
>>>>>>>>>> ===
>>>>>>>>>> ==
>>>>>>>>>> ==
>>>>>>>>>> ==
>>>>>>>>>> == Configuring Open MPI
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> ===================================================================
>>>>>>>>>> ===
>>>>>>>>>> ==
>>>>>>>>>> ==
>>>>>>>>>> ==
>>>>>>>>>> 
>>>>>>>>>> *** Startup tests
>>>>>>>>>> checking build system type... x86_64-unknown-linux-gnu
>>>>>>>>>> checking host system type... x86_64-unknown-linux-gnu
>>>>>>>>>> checking target system type... x86_64-unknown-linux-gnu
>>>>>>>>>> checking for gcc... gcc
>>>>>>>>>> checking whether the C compiler works... yes
>>>>>>>>>> checking for C compiler default output file name... a.out
>>>>>>>>>> checking for suffix of executables...
>>>>>>>>>> checking whether we are cross compiling... no
>>>>>>>>>> checking for suffix of object files... o
>>>>>>>>>> checking whether we are using the GNU C compiler... yes
>>>>>>>>>> checking whether gcc accepts -g... yes
>>>>>>>>>> checking for gcc option to accept ISO C89... none needed
>>>>>>>>>> checking how to run the C preprocessor... gcc -E
>>>>>>>>>> checking for grep that handles long lines and -e... /bin/grep
>>>>>>>>>> checking for egrep... /bin/grep -E
>>>>>>>>>> checking for ANSI C header files... yes
>>>>>>>>>> checking for sys/types.h... yes
>>>>>>>>>> checking for sys/stat.h... yes
>>>>>>>>>> checking for stdlib.h... yes
>>>>>>>>>> checking for string.h... yes
>>>>>>>>>> checking for memory.h... yes
>>>>>>>>>> checking for strings.h... yes
>>>>>>>>>> checking for inttypes.h... yes
>>>>>>>>>> checking for stdint.h... yes
>>>>>>>>>> checking for unistd.h... yes
>>>>>>>>>> checking minix/config.h usability... no
>>>>>>>>>> checking minix/config.h presence... no
>>>>>>>>>> checking for minix/config.h... no
>>>>>>>>>> checking whether it is safe to define __EXTENSIONS__... yes
>>>>>>>>>> configure: error: platform file non-existant not found
>>>>>>>>>> (dog@tu-fe1 62%)
>>>>>>>>>> 
>>>>>>>>>> For OMPI 1.4.5, the platform file check occurs right off:
>>>>>>>>>> 
>>>>>>>>>> (dog@tu-fe1 13%) ./configure --with-platform=non-existant
>>>>>>>>>> configure: error: platform file non-existant not found
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> As it is in the newer release, it will fail to work for the PGI
>>>>>>>>>> compilers
>>>>>>>>>> then.
>>>>>>>>>> 
>>>>>>>>>> -david
>>>>>>>>>> 
>>>>>>>>>> --
>>>>>>>>>> David Gunter
>>>>>>>>>> HPC-3: Infrastructure Team
>>>>>>>>>> Los Alamos National Laboratory
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On May 23, 2012, at 12:21 PM, Gunter, David O wrote:
>>>>>>>>>> 
>>>>>>>>>>> I thought the purpose of the platform file was to be equivalent
>>>>>>>>>>> to
>>>>>>>>>>> setting things on the command-line to configure. Still, it has
>>>>>>>>>>> always
>>>>>>>>>>> worked that way for us.
>>>>>>>>>>> 
>>>>>>>>>>> Here's what I'm seeing:
>>>>>>>>>>> 
>>>>>>>>>>> (dog@lo1-fe 297%) ./configure
>>>>>>>>>>> --prefix=/usr/projects/hpcsoft/lobo/openmpi/1.6.0-pgi-12.4
>>>>>>>>>>> --with-platform=./optimized-panasas-pgi
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> ==================================================================
>>>>>>>>>>> ===
>>>>>>>>>>> ==
>>>>>>>>>>> ==
>>>>>>>>>>> ===
>>>>>>>>>>> == Configuring Open MPI
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> ==================================================================
>>>>>>>>>>> ===
>>>>>>>>>>> ==
>>>>>>>>>>> ==
>>>>>>>>>>> ===
>>>>>>>>>>> 
>>>>>>>>>>> *** Startup tests
>>>>>>>>>>> checking build system type... x86_64-unknown-linux-gnu
>>>>>>>>>>> checking host system type... x86_64-unknown-linux-gnu
>>>>>>>>>>> checking target system type... x86_64-unknown-linux-gnu
>>>>>>>>>>> checking for gcc...
>>>>>>>>>>> /usr/projects/hpcsoft/lobo/pgi/linux86-64/12.4/bin/pgcc
>>>>>>>>>>> checking whether the C compiler works... no
>>>>>>>>>>> configure: error: in
>>>>>>>>>>> `/usr/projects/hpctools/dog/openmpi/openmpi-1.6':
>>>>>>>>>>> configure: error: C compiler cannot create executables
>>>>>>>>>>> See `config.log' for more details
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> The error happens because this particular compiler, pgi-12.4,
>>>>>>>>>>> needs
>>>>>>>>>>> two
>>>>>>>>>>> flags: -lnomp and -lnuma. Thus the reason for the LDFLAGS line in
>>>>>>>>>>> the
>>>>>>>>>>> platform file.
>>>>>>>>>>> 
>>>>>>>>>>> If I compile like this:
>>>>>>>>>>> 
>>>>>>>>>>> (dog@lo1-fe 297%) ./configure
>>>>>>>>>>> --prefix=/usr/projects/hpcsoft/lobo/openmpi/1.6.0-pgi-12.4
>>>>>>>>>>> --with-platform=./optimized-panasas-pgi LDFLAGS="-nomp -lnuma"
>>>>>>>>>>> 
>>>>>>>>>>> Then the configure proceeds normally.
>>>>>>>>>>> 
>>>>>>>>>>> -david
>>>>>>>>>>> --
>>>>>>>>>>> David Gunter
>>>>>>>>>>> HPC-3: Infrastructure Team
>>>>>>>>>>> Los Alamos National Laboratory
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> On May 23, 2012, at 12:03 PM, Jeff Squyres (jsquyres) wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> Can you send some output showing that those flags aren't passed
>>>>>>>>>>>> through, like some output from "make V=1" and or from
>>>>>>>>>>>> config.log?
>>>>>>>>>>>> 
>>>>>>>>>>>> Offhand, I don't know if we ever formally supported setting env
>>>>>>>>>>>> variables other than enable and with flag variables in the
>>>>>>>>>>>> platform
>>>>>>>>>>>> files...?
>>>>>>>>>>>> 
>>>>>>>>>>>> Sent from my phone. No type good.
>>>>>>>>>>>> 
>>>>>>>>>>>> On May 23, 2012, at 12:49 PM, "Gunter, David O" <d...@lanl.gov>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>> I am trying to set LDFLAGS, CFLAGS, etc, in a platform file but
>>>>>>>>>>>>> the
>>>>>>>>>>>>> 1.6 release does not seem to pick these up.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Here's the tail end of one of our platform files, for building
>>>>>>>>>>>>> with
>>>>>>>>>>>>> the latest PGI compilers:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> LDFLAGS="-nomp -lnuma"
>>>>>>>>>>>>> CFLAGS="-I/opt/panfs/include"
>>>>>>>>>>>>> CXXFLAGS="-I/opt/panfs/include"
>>>>>>>>>>>>> FCFLAGS="-I/opt/panfs/include"
>>>>>>>>>>>>> FFLAGS="-I/opt/panfs/include"
>>>>>>>>>>>>> CCASFLAGS="-I/opt/panfs/include"
>>>>>>>>>>>>> 
>>>>>>>>>>>>> The same platform file will configure the 1.4.5 release just
>>>>>>>>>>>>> fine
>>>>>>>>>>>>> but
>>>>>>>>>>>>> does not work with 1.6. If I set these variables in my
>>>>>>>>>>>>> environment
>>>>>>>>>>>>> and
>>>>>>>>>>>>> then run configure, it works just fine - as expected.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Has anyone else noticed this behavior?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> -david
>>>>>>>>>>>>> --
>>>>>>>>>>>>> David Gunter
>>>>>>>>>>>>> HPC-3: Infrastructure Team
>>>>>>>>>>>>> Los Alamos National Laboratory
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> 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
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> 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
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> Brian W. Barrett
>>>>>>>>> Dept. 1423: Scalable System Software
>>>>>>>>> Sandia National Laboratories
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> 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
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> Brian W. Barrett
>>>>>>> Dept. 1423: Scalable System Software
>>>>>>> Sandia National Laboratories
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Brian W. Barrett
>>>>> Dept. 1423: Scalable System Software
>>>>> Sandia National Laboratories
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> 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
>>> 
>>> 
>>> -- 
>>> Jeff Squyres
>>> jsquy...@cisco.com
>>> For corporate legal information go to:
>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>> 
>>> 
>>> _______________________________________________
>>> devel mailing list
>>> de...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>> 
>>> 
>> 
>> 
>> -- 
>> Brian W. Barrett
>> Dept. 1423: Scalable System Software
>> Sandia National Laboratories
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> -- 
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

Reply via email to