Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Unable to set flags using platform files in the 1.6 release
From: Gunter, David O (dog_at_[hidden])
Date: 2012-05-23 16:16:43


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