Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [EXTERNAL] Re: Unable to set flags using platform files in the 1.6 release
From: Barrett, Brian W (bwbarre_at_[hidden])
Date: 2012-05-23 16:23:40


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" <dog_at_[hidden]> 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_at_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_at_tu-fe1 62%)
>
>For OMPI 1.4.5, the platform file check occurs right off:
>
>(dog_at_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_at_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_at_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" <dog_at_[hidden]> 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
>>>> devel_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>
>_______________________________________________
>devel mailing list
>devel_at_[hidden]
>http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>

-- 
  Brian W. Barrett
  Dept. 1423: Scalable System Software
  Sandia National Laboratories