[petsc-dev] How to configure parallel petsc on windows?

Satish Balay balay at mcs.anl.gov
Sun Nov 20 12:09:50 CST 2011


On Sun, 20 Nov 2011, Satish Balay wrote:

> >>>>>>>>>>>>>>>>.
> Executing: mingw32-gfortran  -o conftest.exe    -Wall -Wno-unused-variable -O   -I/winsame/contrib-mingw/microsoft-hpc-mingw/Include conftest.o  /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpi.lib -L/winsame/builds-mingw/facetsall-mingw/petsc-3.1-p8/par/c:/mingw/lib/gcc/mingw32/4.6.1 -L/winsame/builds-mingw/facetsall-mingw/petsc-3.1-p8/par/c:/mingw/lib/gcc -L/winsame/builds-mingw/facetsall-mingw/petsc-3.1-p8/par/c:/mingw/mingw32/lib -L/winsame/builds-mingw/facetsall-mingw/petsc-3.1-p8/par/c:/mingw/lib -L/mingw/lib -lmingw32 -lgcc_eh -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32
> sh:
> Possible ERROR while running linker: Warning: .drectve `/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" ' unrecognized
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_recv_]+0x1f): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_wait_]+0x1f): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_test_]+0x20): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_waitany_]+0x20): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_testany_]+0x21): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_waitall_]+0x1f): undefined reference to `_imp__MPI_F_STATUSES_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_testall_]+0x20): undefined reference to `_imp__MPI_F_STATUSES_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_waitsome_]+0x1f): undefined reference to `_imp__MPI_F_STATUSES_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_testsome_]+0x1f): undefined reference to `_imp__MPI_F_STATUSES_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_iprobe_]+0x20): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_probe_]+0x1f): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_sendrecv_]+0x1f): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpi_sendrecv_replace_]+0x1f): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpirinitc]+0xa): undefined reference to `_imp__MPI_F_STATUS_IGNORE'
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib(obj/i386/mpif.obj):(.text[_mpirinitc]+0x25): undefined reference to `_imp__MPI_F_STATUSES_IGNORE'
> collect2: ld returned 1 exit status
> 
> 
> Source:
>       program main
>        include 'mpif.h'
>        integer ierr
>        call mpi_init(ierr)
>       end
> 
> <<<<<<<<<<<<<
> 
> Perhaps msmpi libs are using some internal notation that
> mingw-gfortran is unable to interpret? The unresolved symbols are
> coming from
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib and I
> think should be resolved by either
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib or
> /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpi.lib
> 
> I would check with:
> 
> nm -Ao /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpi.lib |grep _imp__MPI_F_STATUS_IGNORE


Should also try to compile that simple mpi fortran code snippet
directly with mingw32-gfortran - and see if that works.

mingw32-gfortran conftest.f -o conftest.exe -I/winsame/contrib-mingw/microsoft-hpc-mingw/Include /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpifec.lib /winsame/contrib-mingw/microsoft-hpc-mingw/lib/i386/msmpi.lib

Satish



More information about the petsc-dev mailing list