Paul,

i faced the very same issue with open64-5.0

here is attached a simple reproducer.

main2 can be built, but main cannot be built.
the only difference is than unlike main.F90, main2.F90 contains a line :
use, intrinsic :: iso_c_binding
/* and they both link with libfoo.so, and foo.F90 *does* contain the
same line */


at this stage, all i can conclude is this is an open64 compiler issue.


i am unable to reproduce the issue with gcc, could you please detail :
- your configure command line
- the version of the gnu compilers you are using


i hit a glitch with solarisstudio 12.4 compilers on linux if i configure
with FC=f77 :
f77 does not recognize the 'present' keyword and fails, which raises the
question :
why is there some f90 code in the mpif-h directory ?

Cheers,

Gilles

make[2]: Entering directory
`/csc/home1/gouaillardet/build/openmpi-1.8.4rc5-os124/ompi/mpi/fortran/mpif-h'
  PPFC     libmpi_mpifh_sizeof_la-sizeof-mpif08-pre-1.8.4_f.lo
    mpi_f08_sizeof:

MODULE mpi_f08_sizeof
       ^             
"../../../../../../src/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90",
Line = 31, Column = 8: ERROR: The compiler has detected errors in module
"MPI_F08_SIZEOF".  No module information file will be created for this
module.

      if (present(ierror)) ierror = 0
          ^                          
"../../../../../../src/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90",
Line = 45, Column = 11: ERROR: IMPLICIT NONE is specified in the local
scope, therefore an explicit type must be specified for function "PRESENT".


On 2014/12/19 3:40, Paul Hargrove wrote:
> Jeff,
>
> See below for some failure details.
> The look like different symptoms of the same issue.
>
> -Paul
>
> Open64 link failure:
>
> $ mpifort -g hello_mpifh.f -o hello_mpifh
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-open64/INST/lib/libmpi_mpifh.so:
> undefined reference to `_Iso_c_binding'
> collect2: ld returned 1 exit status
> make[2]: *** [hello_mpifh] Error 1
>
> Gcc build failure:
>
> libtool: compile:  gfortran -DHAVE_CONFIG_H -I.
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h
> -I../../../../opal/include -I../../../../orte/include
> -I../../../../ompi/include -I../../../../oshmem/include
> -I../../../../opal/mca/hwloc/hwloc191/hwloc/include/private/autogen
> -I../../../../opal/mca/hwloc/hwloc191/hwloc/include/hwloc/autogen
> -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5
> -I../../../..
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/opal/include
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/orte/include
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/include
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/oshmem/include
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/opal/mca/hwloc/hwloc191/hwloc/include
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/BLD/opal/mca/hwloc/hwloc191/hwloc/include
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/opal/mca/event/libevent2021/libevent
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/opal/mca/event/libevent2021/libevent/include
> -I/global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/BLD/opal/mca/event/libevent2021/libevent/include
> -I../../../../ompi/mpi/fortran/use-mpi-tkr -g -c
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90
>  -fPIC -o .libs/libmpi_mpifh_sizeof_la-sizeof-mpif08-pre-1.8.4_f.o
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:32
>
>    use, intrinsic :: ISO_C_BINDING
>   1
> Error: Unclassifiable statement at (1)
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/omp
> i/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:38
>
>       use, intrinsic :: ISO_C_BINDING
>      1
> Error: Unclassifiable statement at (1)
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/omp
> i/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:40
>
>
>       INTEGER(KIND=C_SIGNED_CHAR), INTENT(IN) :: x
>                                1
> Error: Symbol 'c_signed_char' at (1) has no IMPLICIT type
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:50
>
>       use, intrinsic :: ISO_C_BINDING
>      1
> Error: Unclassifiable statement at (1)
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:52
>
>       INTEGER(KIND=C_SIGNED_CHAR), INTENT(IN) :: x(*)
>                                1
> Error: Symbol 'c_signed_char' at (1) has no IMPLICIT type
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:64
>
>       use, intrinsic :: ISO_C_BINDING
>      1
> Error: Unclassifiable statement at (1)
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:66
>
>       INTEGER(KIND=C_SHORT), INTENT(IN) :: x
>                          1
> Error: Symbol 'c_short' at (1) has no IMPLICIT type
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:76
>
>       use, intrinsic :: ISO_C_BINDING
>      1
> Error: Unclassifiable statement at (1)
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:78
>
>       INTEGER(KIND=C_SHORT), INTENT(IN) :: x(*)
>                          1
> Error: Symbol 'c_short' at (1) has no IMPLICIT type
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:90
>
>       use, intrinsic :: ISO_C_BINDING
>      1
> Error: Unclassifiable statement at (1)
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:92
>
>       INTEGER(KIND=C_INT), INTENT(IN) :: x
>                        1
> Error: Symbol 'c_int' at (1) has no IMPLICIT type
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:102
>
>       use, intrinsic :: ISO_C_BINDING
>      1
> Error: Unclassifiable statement at (1)
>  In file
> /global/homes/h/hargrove/GSCRATCH/OMPI/openmpi-1.8.4rc5-linux-x86_64-gcc-atomics/openmpi-1.8.4rc5/ompi/mpi/fortran/mpif-h/sizeof-mpif08-pre-1.8.4_f.F90:104
>
> [...about 180 more lines of similar output...]
>
> On Thu, Dec 18, 2014 at 9:30 AM, Jeff Squyres (jsquyres) <jsquy...@cisco.com
>> wrote:
>>
>> On Dec 18, 2014, at 11:55 AM, Paul Hargrove <phhargr...@lbl.gov> wrote:
>>
>>> + NEW: I see Fortran bindings failing to compile w/ gfortran
>>> + NEW: I see Fortran bindings fail to link with Open64
>> Paul -- you make me sad.  Sigh.
>>
>> Send some details of these failures when you can.
>>
>> Thanks!
>>
>> --
>> 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
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
>> Link to this post:
>> http://www.open-mpi.org/community/lists/devel/2014/12/16671.php
>>
>
>
>
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2014/12/16677.php

Attachment: test-open64.tar.gz
Description: application/gzip

Reply via email to