Greetings once again !!! Environment: OS: Windows 7 64-bit Compilers: ifort and cl.exe (both 64-bit) CMAKE: version-2.8.4 OpenMPI: version 1.5.3
As described in the README.WINDOWS.txt, when performing 'First approach:" I am observing following... 1) via cmake-gui.exe clicked 'Configure' and it shown all config options in pink color see output of this step in attached cmake_gui_output1.txt 2) then I enabled OMPI_WANT_F77_BINDING and OMPI_WANT_F90_BINDING to true and then clicked 'Configure'. see output of this step in attached cmake_gui_output2.txt As you can observe in cmake_gui_output2.txt file, it succeeded on all Fortran data types (except INTEGER*16 and REAL*2). Now what I am observing is that eventho' fortran compiler supports most of the datatypes, but still mpi.h file reports '0' for corresponding datatype. <from_mpi.h> /* Whether we have FORTRAN LOGICAL*1 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL1 0 /* Whether we have FORTRAN LOGICAL*2 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL2 0 /* Whether we have FORTRAN LOGICAL*4 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL4 0 /* Whether we have FORTRAN LOGICAL*8 or not */ #define OMPI_HAVE_FORTRAN_LOGICAL8 0 /* Whether we have FORTRAN INTEGER*1 or not */ #define OMPI_HAVE_FORTRAN_INTEGER1 0 /* Whether we have FORTRAN INTEGER*16 or not */ #define OMPI_HAVE_FORTRAN_INTEGER16 0 /* Whether we have FORTRAN INTEGER*2 or not */ #define OMPI_HAVE_FORTRAN_INTEGER2 0 /* Whether we have FORTRAN INTEGER*4 or not */ #define OMPI_HAVE_FORTRAN_INTEGER4 0 /* Whether we have FORTRAN INTEGER*8 or not */ #define OMPI_HAVE_FORTRAN_INTEGER8 0 /* Whether we have FORTRAN REAL*16 or not */ #define OMPI_HAVE_FORTRAN_REAL16 0 /* Whether we have FORTRAN REAL*2 or not */ #define OMPI_HAVE_FORTRAN_REAL2 0 /* Whether we have FORTRAN REAL*4 or not */ #define OMPI_HAVE_FORTRAN_REAL4 0 /* Whether we have FORTRAN REAL*8 or not */ #define OMPI_HAVE_FORTRAN_REAL8 0 ====== Any idea on why mpi.h is setting zero for all above fortran datatypes despite fortran compiler supports most of the datatypes (see cmake_gui_output2.txt)??? Thank you in advance. -Hiral
Checking for working Fortran compiler... Checking for working Fortran compiler...ifort.exe Check ifort.exe external symbol convention... Check ifort.exe external symbol convention...upper case Check if Fortran 77 compiler supports CHARACTER... Check if Fortran 77 compiler supports CHARACTER...yes Check size of Fortran 77 CHARACTER... Check size of Fortran 77 CHARACTER...1 Check corresponding C type of CHARACTER... Check corresponding C type of CHARACTER... char Check alignment of Fortran CHARACTER... Check alignment of Fortran CHARACTER...1 Check if Fortran 77 compiler supports LOGICAL... Check if Fortran 77 compiler supports LOGICAL...yes Check size of Fortran 77 LOGICAL... Check size of Fortran 77 LOGICAL...4 Check corresponding C type of LOGICAL... Check corresponding C type of LOGICAL... int Check alignment of Fortran LOGICAL... Check alignment of Fortran LOGICAL...4 Check if Fortran 77 compiler supports LOGICAL*1... Check if Fortran 77 compiler supports LOGICAL*1...yes Check size of Fortran 77 LOGICAL*1... Check size of Fortran 77 LOGICAL*1...1 Check corresponding C type of LOGICAL*1... Check corresponding C type of LOGICAL*1... char Check alignment of Fortran LOGICAL*1... Check alignment of Fortran LOGICAL*1...1 Check if Fortran 77 compiler supports LOGICAL*2... Check if Fortran 77 compiler supports LOGICAL*2...yes Check size of Fortran 77 LOGICAL*2... Check size of Fortran 77 LOGICAL*2...2 Check corresponding C type of LOGICAL*2... Check corresponding C type of LOGICAL*2... short Check alignment of Fortran LOGICAL*2... Check alignment of Fortran LOGICAL*2...2 Check if Fortran 77 compiler supports LOGICAL*4... Check if Fortran 77 compiler supports LOGICAL*4...yes Check size of Fortran 77 LOGICAL*4... Check size of Fortran 77 LOGICAL*4...4 Check corresponding C type of LOGICAL*4... Check corresponding C type of LOGICAL*4... int Check alignment of Fortran LOGICAL*4... Check alignment of Fortran LOGICAL*4...4 Check if Fortran 77 compiler supports LOGICAL*8... Check if Fortran 77 compiler supports LOGICAL*8...yes Check size of Fortran 77 LOGICAL*8... Check size of Fortran 77 LOGICAL*8...8 Check corresponding C type of LOGICAL*8... Check corresponding C type of LOGICAL*8... long long Check alignment of Fortran LOGICAL*8... Check alignment of Fortran LOGICAL*8...8 Check if Fortran 77 compiler supports INTEGER... Check if Fortran 77 compiler supports INTEGER...yes Check size of Fortran 77 INTEGER... Check size of Fortran 77 INTEGER...4 Check corresponding C type of INTEGER... Check corresponding C type of INTEGER... int Check alignment of Fortran INTEGER... Check alignment of Fortran INTEGER...4 Check if Fortran 77 compiler supports INTEGER*1... Check if Fortran 77 compiler supports INTEGER*1...yes Check size of Fortran 77 INTEGER*1... Check size of Fortran 77 INTEGER*1...1 Check corresponding C type of INTEGER*1... Check corresponding C type of INTEGER*1... char Check alignment of Fortran INTEGER*1... Check alignment of Fortran INTEGER*1...1 Check if Fortran 77 compiler supports INTEGER*2... Check if Fortran 77 compiler supports INTEGER*2...yes Check size of Fortran 77 INTEGER*2... Check size of Fortran 77 INTEGER*2...2 Check corresponding C type of INTEGER*2... Check corresponding C type of INTEGER*2... short Check alignment of Fortran INTEGER*2... Check alignment of Fortran INTEGER*2...2 Check if Fortran 77 compiler supports INTEGER*4... Check if Fortran 77 compiler supports INTEGER*4...yes Check size of Fortran 77 INTEGER*4... Check size of Fortran 77 INTEGER*4...4 Check corresponding C type of INTEGER*4... Check corresponding C type of INTEGER*4... int Check alignment of Fortran INTEGER*4... Check alignment of Fortran INTEGER*4...4 Check if Fortran 77 compiler supports INTEGER*8... Check if Fortran 77 compiler supports INTEGER*8...yes Check size of Fortran 77 INTEGER*8... Check size of Fortran 77 INTEGER*8...8 Check corresponding C type of INTEGER*8... Check corresponding C type of INTEGER*8... long long Check alignment of Fortran INTEGER*8... Check alignment of Fortran INTEGER*8...8 Check if Fortran 77 compiler supports INTEGER*16... Check if Fortran 77 compiler supports INTEGER*16...no Check if Fortran 77 compiler supports REAL... Check if Fortran 77 compiler supports REAL...yes Check size of Fortran 77 REAL... Check size of Fortran 77 REAL...4 Check corresponding C type of REAL... Check corresponding C type of REAL... float Check alignment of Fortran REAL... Check alignment of Fortran REAL...4 Check if Fortran 77 compiler supports REAL*2... Check if Fortran 77 compiler supports REAL*2...no Check if Fortran 77 compiler supports REAL*4... Check if Fortran 77 compiler supports REAL*4...yes Check size of Fortran 77 REAL*4... Check size of Fortran 77 REAL*4...4 Check corresponding C type of REAL*4... Check corresponding C type of REAL*4... float Check alignment of Fortran REAL*4... Check alignment of Fortran REAL*4...4 Check if Fortran 77 compiler supports REAL*8... Check if Fortran 77 compiler supports REAL*8...yes Check size of Fortran 77 REAL*8... Check size of Fortran 77 REAL*8...8 Check corresponding C type of REAL*8... Check corresponding C type of REAL*8... double Check alignment of Fortran REAL*8... Check alignment of Fortran REAL*8...8 Check if Fortran 77 compiler supports REAL*16... Check if Fortran 77 compiler supports REAL*16...yes Check size of Fortran 77 REAL*16... Check size of Fortran 77 REAL*16...16 Check corresponding C type of REAL*16... *** Did not find corresponding C type of REAL*16 Check alignment of Fortran REAL*16... Check alignment of Fortran REAL*16...16 Check if Fortran 77 compiler supports DOUBLE PRECISION... Check if Fortran 77 compiler supports DOUBLE PRECISION...yes Check size of Fortran 77 DOUBLE PRECISION... Check size of Fortran 77 DOUBLE PRECISION...8 Check corresponding C type of DOUBLE PRECISION... Check corresponding C type of DOUBLE PRECISION... double Check alignment of Fortran DOUBLE PRECISION... Check alignment of Fortran DOUBLE PRECISION...8 Check if Fortran 77 compiler supports COMPLEX... Check if Fortran 77 compiler supports COMPLEX...yes Check size of Fortran 77 COMPLEX... Check size of Fortran 77 COMPLEX...8 Check alignment of Fortran COMPLEX... Check alignment of Fortran COMPLEX...8 Check if Fortran 77 compiler supports COMPLEX*8... Check if Fortran 77 compiler supports COMPLEX*8...yes Check size of Fortran 77 COMPLEX*8... Check size of Fortran 77 COMPLEX*8...8 Check alignment of Fortran COMPLEX*8... Check alignment of Fortran COMPLEX*8...8 Check if Fortran 77 compiler supports COMPLEX*16... Check if Fortran 77 compiler supports COMPLEX*16...yes Check size of Fortran 77 COMPLEX*16... Check size of Fortran 77 COMPLEX*16...16 Check alignment of Fortran COMPLEX*16... Check alignment of Fortran COMPLEX*16...16 Check if Fortran 77 compiler supports COMPLEX*32... Check if Fortran 77 compiler supports COMPLEX*32...yes Check size of Fortran 77 COMPLEX*32... Check size of Fortran 77 COMPLEX*32...32 Check alignment of Fortran COMPLEX*32... Check alignment of Fortran COMPLEX*32...32 Check if REAL*16 bit-matches C...skipped. (no corresponding C type) Check Max handle value for Fortran MPI handles... Check Max handle value for Fortran MPI handles...2147483647 Check Fortran value for .TRUE. logical type... Check Fortran value for .TRUE. logical type...-1 checking for type of MPI_Offset... checking for type of MPI_Offset...long long checking for an MPI datatype for MPI_Offset... checking for an MPI datatype for MPI_Offset...MPI_LONG_LONG looking for ccp... looking for ccp...failed. looking for ccp... looking for ccp...failed. Configuring done
Check for working C compiler using: Visual Studio 10 Win64 Check for working C compiler using: Visual Studio 10 Win64 -- works Detecting C compiler ABI info Detecting C compiler ABI info - done Check for working CXX compiler using: Visual Studio 10 Win64 Check for working CXX compiler using: Visual Studio 10 Win64 -- works Detecting CXX compiler ABI info Detecting CXX compiler ABI info - done Start Microsoft specific detection.... Checking for InterlockedCompareExchange... Checking for InterlockedCompareExchange...done Checking for InterlockedCompareExchangeAcquire... Checking for InterlockedCompareExchangeAcquire...done Checking for InterlockedCompareExchangeRelease... Checking for InterlockedCompareExchangeRelease...done Checking for InterlockedCompareExchange64... Checking for InterlockedCompareExchange64...done Looking for windows.h Looking for windows.h - found Looking for winsock2.h Looking for winsock2.h - found Looking for wdm.h Looking for wdm.h - not found Looking for malloc.h Looking for malloc.h - found Looking for memory.h Looking for memory.h - found Looking for signal.h Looking for signal.h - found Looking for stdarg.h Looking for stdarg.h - found Looking for stdint.h Looking for stdint.h - found Looking for stdlib.h Looking for stdlib.h - found Looking for string.h Looking for string.h - found Looking for sys/stat.h Looking for sys/stat.h - found Looking for sys/types.h Looking for sys/types.h - found Looking for time.h Looking for time.h - found Looking for stddef.h Looking for stddef.h - found Looking for ceil Looking for ceil - found Looking for execve Looking for execve - found Looking for isatty Looking for isatty - found Looking for vsnprintf Looking for vsnprintf - found Checking for socklen_t... Checking for socklen_t...done Checking for struct sockaddr_in... Checking for struct sockaddr_in...done Checking for struct sockaddr_in6... Checking for struct sockaddr_in6...done Checking for struct sockaddr_storage... Checking for struct sockaddr_storage...done Looking for AF_UNSPEC Looking for AF_UNSPEC - found Looking for PF_UNSPEC Looking for PF_UNSPEC - found Looking for AF_INET6 Looking for AF_INET6 - found Looking for PF_INET6 Looking for PF_INET6 - found Checking maximum length of processor name... Use default value 256. Checking maximum length of error string... Use default value 256. Checking maximum length of object name... Use default value 64. Checking maximum length of info key... Use default value 36. Checking maximum length of info val... Use default value 256. Checking maximum length of port name... Use default value 1024. Checking maximum length of datarep string... Use default value 128. Looking for stddef.h Looking for stddef.h - found Check size of char Check size of char - done Check alignment of char in c... Check alignment of char in c...1 Check size of wchar Check size of wchar - failed Check size of double Check size of double - done Check alignment of double in c... Check alignment of double in c...8 Check size of float Check size of float - done Check alignment of float in c... Check alignment of float in c...4 Check size of int Check size of int - done Check alignment of int in c... Check alignment of int in c...4 Checking size of c bool... Checking size of c bool...failed Checking size of cxx bool... Checking size of cxx bool...1 Check alignment of bool in cxx... Check alignment of bool in cxx...1 Check size of short Check size of short - done Check alignment of short in c... Check alignment of short in c...2 Check size of long Check size of long - done Check alignment of long in c... Check alignment of long in c...4 Check size of long double Check size of long double - done Check alignment of long double in c... Check alignment of long double in c...8 Check size of long long Check size of long long - done Check alignment of long long in c... Check alignment of long long in c...8 Check size of unsigned int Check size of unsigned int - done Check alignment of unsigned int in c... Check alignment of unsigned int in c...4 Check size of unsigned short Check size of unsigned short - done Check alignment of unsigned short in c... Check alignment of unsigned short in c...2 Check size of unsigned long long Check size of unsigned long long - done Check alignment of unsigned long long in c... Check alignment of unsigned long long in c...8 Check size of unsigned long double Check size of unsigned long double - done Check alignment of unsigned long double in c... Check alignment of unsigned long double in c...8 Check size of unsigned char Check size of unsigned char - done Check alignment of unsigned char in c... Check alignment of unsigned char in c...1 Check size of float _Complex Check size of float _Complex - failed Check size of double _Complex Check size of double _Complex - failed Check size of long double _Complex Check size of long double _Complex - failed Check size of size_t Check size of size_t - done Check alignment of size_t in c... Check alignment of size_t in c...8 Check size of ssize_t Check size of ssize_t - failed Check size of void * Check size of void * - done Check alignment of void * in c... Check alignment of void * in c...8 Check size of pid_t Check size of pid_t - failed Define it as 'int'. Check size of ptrdiff_t Check size of ptrdiff_t - done Check alignment of ptrdiff_t in c... Check alignment of ptrdiff_t in c...8 Check size of mode_t Check size of mode_t - failed Check size of int8_t Check size of int8_t - done Check alignment of int8_t in c... Check alignment of int8_t in c...1 Check size of int16_t Check size of int16_t - done Check alignment of int16_t in c... Check alignment of int16_t in c...2 Check size of int32_t Check size of int32_t - done Check alignment of int32_t in c... Check alignment of int32_t in c...4 Check size of int64_t Check size of int64_t - done Check alignment of int64_t in c... Check alignment of int64_t in c...8 Check size of int128_t Check size of int128_t - failed Check size of intptr_t Check size of intptr_t - done Check alignment of intptr_t in c... Check alignment of intptr_t in c...8 Check size of uint8_t Check size of uint8_t - done Check alignment of uint8_t in c... Check alignment of uint8_t in c...1 Check size of uint16_t Check size of uint16_t - done Check alignment of uint16_t in c... Check alignment of uint16_t in c...2 Check size of uint32_t Check size of uint32_t - done Check alignment of uint32_t in c... Check alignment of uint32_t in c...4 Check size of uint64_t Check size of uint64_t - done Check alignment of uint64_t in c... Check alignment of uint64_t in c...8 Check size of uint128_t Check size of uint128_t - failed Check size of uintptr_t Check size of uintptr_t - done Check alignment of uintptr_t in c... Check alignment of uintptr_t in c...8 Check Max handle value for Fortran MPI handles... Check Max handle value for Fortran MPI handles...2147483647 Check inline definition... Checking inline definition...__inline checking for type of MPI_Offset... checking for type of MPI_Offset...long long checking for an MPI datatype for MPI_Offset... checking for an MPI datatype for MPI_Offset...MPI_LONG_LONG Check for working flex... Check for working flex...done Skipping MPI F77 interface looking for ccp... looking for ccp...failed. looking for ccp... looking for ccp...failed. Configuring done