Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
From: Paul Hargrove (phhargrove_at_[hidden])
Date: 2014-07-29 23:54:46


On Tue, Jul 29, 2014 at 6:38 PM, Paul Hargrove <phhargrove_at_[hidden]> wrote:

>
> On Tue, Jul 29, 2014 at 6:33 PM, Paul Hargrove <phhargrove_at_[hidden]> wrote:
>
>> I am trying again with an explicit --enable-mpi-fortran=usempi at
>> configure time to see what happens.
>>
>
> Of course that should have said --enable-mpi-fortran=usempif08
>

I've switched to using PG13.6 for my testing.
I find that even when I pass that flag I see that use_mpi_f08 is NOT
enabled:

checking Fortran compiler ignore TKR syntax... not cached; checking variants
checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no
checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no
checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no
checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes
checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$
IGNORE_TKR
checking if Fortran compiler supports ISO_C_BINDING... yes
checking if building Fortran 'use mpi' bindings... yes
checking if Fortran compiler supports SUBROUTINE BIND(C)... yes
checking if Fortran compiler supports TYPE, BIND(C)... yes
checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")...
yes
checking if Fortran compiler supports PROCEDURE... no
*checking if building Fortran 'use mpi_f08' bindings... no*

Contrast that to openmpi-1.8.1 and the same compiler:

checking Fortran compiler ignore TKR syntax... not cached; checking variants
checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no
checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no
checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no
checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes
checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$
IGNORE_TKR
checking if building Fortran 'use mpi' bindings... yes
checking if Fortran compiler supports ISO_C_BINDING... yes
checking if Fortran compiler supports SUBROUTINE BIND(C)... yes
checking if Fortran compiler supports TYPE, BIND(C)... yes
checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")...
yes
checking if Fortran compiler supports optional arguments... yes
checking if Fortran compiler supports PRIVATE... yes
checking if Fortran compiler supports PROTECTED... yes
checking if Fortran compiler supports ABSTRACT... yes
checking if Fortran compiler supports ASYNCHRONOUS... yes
checking if Fortran compiler supports PROCEDURE... no
checking size of Fortran type(test_mpi_handle)... 4
checking Fortran compiler F08 assumed rank syntax... not cached; checking
checking for Fortran compiler support of TYPE(*), DIMENSION(..)... no
checking Fortran compiler F08 assumed rank syntax... no
checking which mpi_f08 implementation to build... "good" compiler, no array
subsections
*checking if building Fortran 'use mpi_f08' bindings... yes*

So, somewhere between 1.8.1 and 1.8.2rc2 something has happened in the
configure logic to disqualify the pgf90 compiler.

I also surprised to see 1.8.2rc2 performing *fewer* tests of FC then 1.8.1
did (unless they moved elsewhere?).

In the end I cannot reproduce the originally reported problem for the
simple reason that I instead see:

{hargrove_at_hopper04 openmpi-1.8.2rc2-linux-x86_64-pgi-14.4}$
./INST/bin/mpif90 ../test.f
PGF90-F-0004-Unable to open MODULE file mpi_f08.mod (../test.f: 2)
PGF90/x86-64 Linux 14.4-0: compilation aborted

Tetsuya Mishima,

Is it possible that your installation of 1.8.2rc2 was to the same prefix as
an older build?
It that is the case, you may have the mpi_f08.mod from the older build even
though no f08 support is in the new build.

-Paul

-- 
Paul H. Hargrove                          PHHargrove_at_[hidden]
Future Technologies Group
Computer and Data Sciences Department     Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900