Hello all,

   I am trying to compile mpich-3.1.2 under Cygwin 64bit. I am using the mingw64- x86_64-gcc-g++ and mingw64-x86_64-gcc-gfortran compilers, i.e. the mingw compilers shipped in the latest Cygwin. I encountered an internal error "Failed to convert MPI_INTEGER value to hex!" when configuring.

  ========================================================
checking whether real*4 is supported... yes
checking whether real*8 is supported... yes
checking whether real*16 is supported... yes
: integer expression expected: 4
: integer expression expected: 4
: integer expression expected: 4
: integer expression expected: 8
: integer expression expected: 8
: integer expression expected: 8
checking for C type matching Fortran real... unavailable
checking for C type matching Fortran double... unavailable
expr: syntax error
expr: syntax error
expr: non-integer argument
./configure: line 38715: test: : integer expression expected
./configure: line 38720: test: -gt: unary operator expected
./configure: line 38734: test: -lt: unary operator expected
./configure: line 38715: test: : integer expression expected
./configure: line 38720: test: -gt: unary operator expected
./configure: line 38734: test: -lt: unary operator expected
./configure: line 38715: test: : integer expression expected
./configure: line 38720: test: -gt: unary operator expected
./configure: line 38734: test: -lt: unary operator expected
expr: non-integer argument
./configure: line 38783: test: -ge: unary operator expected
expr: syntax error
expr: syntax error
expr: syntax error
expr: syntax error
configure: error: Internal Error: Failed to convert MPI_INTEGER value to hex!  O
riginal value was 0x4c001b
=============================================================

In config.log, it shows
=============================================================
configure:38248: checking for size of Fortran type double precision
configure:38289: gcc -c    -O2   -I/cygdrive/c/Library/mpich2/mpich-3.1.2/src/mpl/include -I/cygdrive/c/Library/mpich2/mpich-3.1.2/src/mpl/include -I/cygdrive/c/Library/mpich2/mpich-3.1.2/src/openpa/src -I/cygdrive/c/Library/mpich2/mpich-3.1.2/src/openpa/src -D_REENTRANT -I/cygdrive/c/Library/mpich2/mpich-3.1.2/src/mpi/romio/include conftest.c >&5
configure:38289: $? = 0
configure:38293: mv conftest.o pac_conftest.o
configure:38296: $? = 0
configure:38323: gfortran -o conftest.exe   -O2   conftest.f pac_conftest.o   >&5
configure:38323: $? = 0
configure:38323: ./conftest.exe
configure:38323: $? = 0
configure:38361: result: 8

configure:38384: checking whether integer*1 is supported
configure:38395: gfortran -c   -O2 conftest.f >&5
configure:38395: $? = 0
configure:38402: result: yes
configure:38404: checking whether integer*2 is supported
configure:38415: gfortran -c   -O2 conftest.f >&5
configure:38415: $? = 0
configure:38422: result: yes
configure:38424: checking whether integer*4 is supported
configure:38435: gfortran -c   -O2 conftest.f >&5
configure:38435: $? = 0
configure:38442: result: yes
configure:38444: checking whether integer*8 is supported
configure:38455: gfortran -c   -O2 conftest.f >&5
configure:38455: $? = 0
configure:38462: result: yes
configure:38464: checking whether integer*16 is supported
configure:38475: gfortran -c   -O2 conftest.f >&5
configure:38475: $? = 0
configure:38482: result: yes
configure:38484: checking whether real*4 is supported
configure:38495: gfortran -c   -O2 conftest.f >&5
configure:38495: $? = 0
configure:38502: result: yes
configure:38504: checking whether real*8 is supported
configure:38515: gfortran -c   -O2 conftest.f >&5
configure:38515: $? = 0
configure:38522: result: yes
configure:38524: checking whether real*16 is supported
configure:38535: gfortran -c   -O2 conftest.f >&5
configure:38535: $? = 0
configure:38542: result: yes
configure:38641: checking for C type matching Fortran real
configure:38659: result: unavailable
configure:38664: checking for C type matching Fortran double
configure:38681: result: unavailable
configure:38842: error: Internal Error: Failed to convert MPI_INTEGER value to hex!  Original value was 0x4c001b
=============================================================

Can you help?

Thanks,
Mengda