[petsc-dev] Error compiling PETSc on Windows

Satish Balay balay at mcs.anl.gov
Thu Jul 5 20:54:24 CDT 2018


A few additional notes:

On Thu, 5 Jul 2018, Satish Balay wrote:

> >>>>>>>>>>>>>
> Using configure Options: --prefix=/cygdrive/c/installed/petsc_git-intel-debug/ --PETSC_DIR=/cygdrive/c/sources/petsc --PETSC_ARCH=windows-intel-debug --with-cc="win32fe cl" --with-fc="win32fe ifort" --with-mpi-include="[/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mpi/intel64/include]" --with-mpi-lib="[/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mpi/intel64/lib/release_mt/impi.lib]"

>  --with-openmp=1

I don't think this option does anything [on windows]

> --with-parmetis-lib=/cygdrive/c/installed/parmetis/lib/parmetis.lib --with-parmetis-include=/cygdrive/c/installed/parmetis/include --with-metis-lib=/cygdrive/c/installed/parmetis/lib/metis.lib --with-metis-include=/cygdrive/c/installed/parmetis/include --with-zoltan-include=/cygdrive/c/installed/zoltan/include --with-zoltan-lib=/cygdrive/c/installed/zoltan/lib/zoltan.lib --with-hypre-include=/cygdrive/c/installed/hypre/include --with-hypre-lib=/cygdrive/c/installed/hypre/lib/HYPRE.lib --with-blaslapack-lib="[/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_lp64.lib,/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_core.lib,/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_thread.lib]"

>  --with-scalapack-include="/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/include" --with-scalapack-lib="[/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_scalapack_lp64.lib,/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_blacs_intelmpi_lp64.lib]"

PETSc does not use scalapack or blacs. They are dependencies for MUMPS [which petsc has an interface to]

> --with-shared-libraries=0 

> -LIBS=""/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_lp64.lib" "/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_thread.lib" "/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64//mkl_core.lib" "/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_scalapack_lp64.lib" "/cygdrive/c/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_blacs_intelmpi_lp64.lib" libiomp5md.lib"

I'm not sure why you are having to respecify MKL via LIBS option.

Also with PETSc MPI usage - its best to use sequential MKL - and not threaded MKL - for eg:

> --with-blaslapack-lib='-L/cygdrive/c/PROGRA~2/INTELS~1/COMPIL~2/windows/mkl/lib/intel64 mkl_intel_lp64_dll.lib mkl_sequential_dll.lib mkl_core_dll.lib'

> > mhypre.c
> > C:\sources\petsc\src\mat\impls\hypre\mhypre.c(1453): warning C4002: too many actual parameters for macro 'hypre_TFree'

You can switch to the compatible version of hypre - or fix revert the code change..

https://bitbucket.org/petsc/petsc/commits/e6de09342ce9c4562cc062ff2c1bac4bd956bda0

Satish


More information about the petsc-dev mailing list