[petsc-dev] build on cygwin for cygwin

Satish Balay balay at mcs.anl.gov
Mon Feb 27 12:15:06 CST 2017


Ah - previously I didn't check the error log closely.

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

So the C tests did run fine. [with openmpi build]

>>>
> > Possible error running C/C++ src/snes/examples/tutorials/ex19 with 1 MPI process
<<<<

Hm - the test for sequential build failed? Perhaps you had some mixup
of files with the previous openmpi build.

When changing builds (like switching mpi) - its best to remove build
files in PETSC_ARCH - and install files in prefix-dir - before the
next build.  Or use a different PETSC_ARCH/prefix values for the
second build.

I tried both builds - and they ran fine for me. [with maint/3.7]

Either way - fortran examples don't work with dlls - so its best to
use --with-shared-libraries=0

Satish

On Mon, 27 Feb 2017, Satish Balay wrote:

> 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