[petsc-dev] build on cygwin for cygwin

Satish Balay balay at mcs.anl.gov
Mon Feb 27 11:27:03 CST 2017


dll build has issues - so its best to use --with-shared-libraries=0 on windows builds.

Normally c examples should work [without fortran] with dlls - will take a look.

Satish

On Mon, 27 Feb 2017, Marco Atzeri wrote:

> 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