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/


Reply via email to