[petsc-dev] Error compiling PETSc on Windows

Satish Balay balay at mcs.anl.gov
Thu Jul 5 20:40:46 CDT 2018


The primary error is:
>>>>>>>
make[1]: Leaving directory '/cygdrive/c/sources/petsc'
^[[1;31m**************************ERROR*************************************
  Error during compile, check windows-intel-debug/lib/petsc/conf/make.log
  Send it and windows-intel-debug/lib/petsc/conf/configure.log to petsc-maint at mcs.anl.gov
********************************************************************^[[0;39m^[[0;49m
<<<<<<<<<

The tirgger for this is:

>>>>>>>>
/usr/bin/sh: -c: line 0: syntax error near unexpected token `('
/usr/bin/sh: -c: line 0: `echo "Using libraries: -L/cygdrive/c/sources/petsc/windows-intel-debug/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 /cygdrive/c/installed/hypre/lib/HYPRE.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 /cygdrive/c/installed/zoltan/lib/zoltan.lib /cygdrive/c/installed/parmetis/lib/parmetis.lib /cygdrive/c/installed/parmetis/lib/metis.lib /cygdrive/c/Program\ Files\ \(x86\)/IntelSWTools/compilers_and_libraries_2018/windows/mpi/intel64/lib/release_mt/impi.lib Gdi32.lib User32.lib Advapi32.lib Kernel32.lib Ws2_32.lib libiomp5md.lib -lpetsc -l"/cygdrive/c/Program -lFiles -l(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_lp64.lib" -l"/cygdrive/c/Program -lFiles -l(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_thread.lib" -l"/cygdrive/c/Program -lFiles -l(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64//mkl_core.lib" -l"/cygdrive/c/Program -lFiles -l(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_scalapack_lp64.lib" -l"/cygdrive/c/Program -lFiles -l(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_blacs_intelmpi_lp64.lib""'
make[1]: [makefile:110: info] Error 1 (ignored)
<<<<<<<<<<<

The line that got executed is:

        - at echo "Using libraries: ${PETSC_LIB}"

You can ignore this error. Its strange that the contents of PETSC_LIB is causing a shell error.

Your configure line is a bit compilcated.

>>>>>>>>>>>>>
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 --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]" --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"

<<<<<<<<<<<<<<

And some of this stuff [that configure formatted] is wrong.

>>>
 -l"/cygdrive/c/Program -lFiles -l(x86)/IntelSWTools/compilers_and_libraries_2018/windows/mkl/lib/intel64/mkl_intel_lp64.lib" -l"/cygdrive/c/Program -lFiles
<<<

You can cleanly specify options to configure - by avoiding quotes, python list syntax - and using dos short paths.

For ex: use the following 'cygpath' command [from cygwin] to get the dos short path - that can be used with petsc configure.

balay at ps4 ~
$ cygpath -u `cygpath -ms 'C:/Program Files (x86)/Microsoft SDKs/MPI/Include/'`
/cygdrive/c/PROGRA~2/MICROS~2/MPI/Include/

This way - you can avoid stuff like:

--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]"

And simpilify it to something like:

--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'

Check config/examples/arch-mswin-opt-impi.py for an example [in python script notation]

Satish


On Fri, 6 Jul 2018, Smith, Barry F. wrote:

> 
>   This is not the cause of your problem but you have the wrong version of hypre installed for the version of PETSc.
> 
>           CC windows-intel-debug/obj/mat/impls/hypre/mhypre.o
> mhypre.c
> C:\sources\petsc\src\mat\impls\hypre\mhypre.c(1453): warning C4002: too many actual parameters for macro 'hypre_TFree'
> 
> You need to use the same version as is listed in config/BuildSystem/config/packages/hypre.py
> 
> If you run code that uses hypre it will crash.
> 
>    Barry
> 
> 
> 
> 
> 
> > On Jul 5, 2018, at 7:21 PM, Hector E Barrios Molano <hectorb at utexas.edu> wrote:
> > 
> > Hi PETSc Experts,
> > 
> > I am compiling PETSc from git repository on Windows 7. I am getting the following error, attached you will find make.log file:
> > 
> >           CC windows-intel-debug/obj/tao/leastsquares/impls/pounders/gqt.o
> > gqt.c
> >           FC windows-intel-debug/obj/dm/f90-mod/petscdmplexmod.o
> >           FC windows-intel-debug/obj/ksp/f90-mod/petsckspmod.o
> >           FC windows-intel-debug/obj/snes/f90-mod/petscsnesmod.o
> >           FC windows-intel-debug/obj/ts/f90-mod/petsctsmod.o
> >           FC windows-intel-debug/obj/tao/f90-mod/petsctaomod.o
> >           AR windows-intel-debug/lib/libpetsc.lib
> >       RANLIB windows-intel-debug/lib/libpetsc.lib
> > make[2]: Leaving directory '/cygdrive/c/sources/petsc'
> > make[1]: Leaving directory '/cygdrive/c/sources/petsc'
> > **************************ERROR*************************************
> >   Error during compile, check windows-intel-debug/lib/petsc/conf/make.log
> >   Send it and windows-intel-debug/lib/petsc/conf/configure.log to petsc-maint at mcs.anl.gov
> > ********************************************************************
> > make: *** [makefile:36: all] Error 1
> > 
> > 
> > Here is the configure command I am using:
> > 
> > ./configure --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 --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-blas-lapack-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"] --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"
> > 
> > What could be the problem?
> > 
> > Thanks,
> > 
> > Hector
> > 
> > 
> > <make.log>
> 


More information about the petsc-dev mailing list