Dear developers,

from documentation
https://www.mcs.anl.gov/petsc/documentation/installation.html

seems that a build with cygwin compiler is possible, however
the results seems puzzling.

I tried with opemmpi compilers on x86_64 platform

--with-cc=mpicc --with-cxx=mpic++ --with-fc=mpifort --prefix=/usr/local PETSC_ARCH=arch-mswin-gnu

and I see that the shared libraries have incorrect names

./arch-mswin-gnu/lib/libpetsc.dll
./arch-mswin-gnu/lib/libpetsc.so.3.7
./arch-mswin-gnu/lib/libpetsc.so.3.7.5

the right one should be cygpetsc-SONAME.dll;
The dependencies are correct

$ cygcheck arch-mswin-gnu/lib/libpetsc.so.3.7.5 |grep "^  E"
  E:\cygwin64\bin\cyggcc_s-seh-1.dll
  E:\cygwin64\bin\cyggfortran-3.dll
  E:\cygwin64\bin\cygblas-0.dll
  E:\cygwin64\bin\cygcrypto-1.0.0.dll
  E:\cygwin64\lib\lapack\cyglapack-0.dll
  E:\cygwin64\bin\cygmpi-12.dll
  E:\cygwin64\bin\cygmpi_mpifh-12.dll
  E:\cygwin64\bin\cygssl-1.0.0.dll
  E:\cygwin64\bin\cygX11-6.dll

there is no trace of import library ( *.a or *.lib)

Almost all tests fails.
--
$ make PETSC_DIR=/usr/local PETSC_ARCH="" test
Running test examples to verify correct installation
Using PETSC_DIR=/usr/local and PETSC_ARCH=
C/C++ example src/snes/examples/tutorials/ex19 run successfully with 1 MPI process C/C++ example src/snes/examples/tutorials/ex19 run successfully with 2 MPI processes Possible error running Fortran example src/snes/examples/tutorials/ex5f with 1 MPI process
See http://www.mcs.anl.gov/petsc/documentation/faq.html
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Object is in wrong state
[0]PETSC ERROR: Cannot set ownership ranges before setting number of procs
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.7.5, Jan, 01, 2017
[0]PETSC ERROR: ./ex5f on a arch-mswin-gnu named GE-MATZERI-EU by 0356EU Mon Feb 27 18:10:42 2017 [0]PETSC ERROR: Configure options --with-cc=mpicc --with-cxx=mpic++ --with-fc=mpifort --prefix=/usr/local PETSC_ARCH=arch-mswin-gnu [0]PETSC ERROR: #1 DMDASetOwnershipRanges() line 617 in /cygdrive/e/cyg_pub/devel/petsc/prova4/petsc-3.7.5/src/dm/impls/da/da.c [0]PETSC ERROR: #2 DMDACreate2d() line 863 in /cygdrive/e/cyg_pub/devel/petsc/prova4/petsc-3.7.5/src/dm/impls/da/da2.c
--


I also tried a build without mpi --with-mpi=0
but the tests seem to call mpi anyway:
--
Possible error running C/C++ src/snes/examples/tutorials/ex19 with 1 MPI process
See http://www.mcs.anl.gov/petsc/documentation/faq.html
[0]PETSC ERROR: ------------------------------------------------------------------------ [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range
--
that is at least curious.


Question:
- have some recently built successfully on cygwin for cygwin ?

Looking at build scripts on config directory I have the impression
that cygwin is only used as platform to build for Windows and not for cygwin itself.


Thanks in advance
Marco



Reply via email to