[petsc-dev] build on cygwin for cygwin

Marco Atzeri marco.atzeri at gmail.com
Mon Feb 27 11:17:17 CST 2017


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






More information about the petsc-dev mailing list