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
test-open64.tar.gz
Description: application/gzip