[petsc-users] petsc under cygwin
Balay, Satish
balay at mcs.anl.gov
Fri Dec 6 09:32:24 CST 2019
Are you sure /usr/bin/mpicxx is the one in your PATH?
which mpicxx
I don't have an explanation for this behavior.
Alternative suggestion is --download-mpich
Satish
On Fri, 6 Dec 2019, Povolotskyi, Mykhailo wrote:
> Hi Satish,
>
> I have installed cygwin yesterday, and this is the output I have:
>
> cygcheck.exe -f /usr/bin/mpicxx
> openmpi-3.1.3-1
>
> mpicxx -show
> g++ -fexceptions -L/usr/lib -lmpi_cxx -lmpi -lopen-rte -lopen-pal -lm
> -lgdi32
>
> As you can see, my installation for some reasons requires libmpi_cxx.
>
> Do you have an idea how can this be solved?
>
> Michael.
>
> On 12/6/2019 9:04 AM, Balay, Satish wrote:
> > Its likely my cygwin is slightly old [as its not updated in the past few months].
> >
> > balay at ps5 ~/petsc
> > $ cygcheck.exe -f /usr/bin/mpicxx
> > openmpi-3.1.3-1
> >
> > Satish
> >
> > On Fri, 6 Dec 2019, Balay, Satish wrote:
> >
> >> Are you sure this is cygwin from OpenMPI? I don't see it refer to -lmpi_cxx
> >>
> >> balay at ps5 ~/petsc
> >> $ which mpicxx
> >> /usr/bin/mpicxx
> >>
> >> balay at ps5 ~/petsc
> >> $ mpicxx -show
> >> g++ -L/usr/lib -lmpi -lopen-rte -lopen-pal -lm -lgdi32 -lz
> >>
> >> Here is what I get with cygwin/openmpi,lapack,blas
> >>
> >> Satish
> >>
> >> -------
> >>
> >> balay at ps5 ~/petsc
> >> $ ./configure --with-scalar-type=real --with-x=0 --with-hdf5 --download-hdf5=1 --with-single-library=1 --with-shared-libraries=0 --with-log=0 --with-clanguage=C++ --with-cxx-d
> >> ialect=C++11 --CXXFLAGS="-fopenmp -fPIC" --CFLAGS="-fopenmp -fPIC" --with-fortran=0 --FFLAGS="-fopenmp -fPIC" --with-64-bit-indices=0 --with-debugging=0 --with-cc=mpicc --with
> >> -fc=mpif77 --with-cxx=mpicxx COPTFLAGS=-O3 CXXOPTFLAGS=-O3 FOPTFLAGS=-O3 --with-fortran-kernels=0
> >> ===============================================================================
> >> Configuring PETSc to compile on your system
> >> ===============================================================================
> >> =============================================================================== WARNING -with-clanguage=C++ is a developer feature and is *not* required for regular usage of PETSc either from C or C++ =============================================================================== =============================================================================== Trying to download git://https://bitbucket.org/petsc/pkg-sowing.git for SOWING =============================================================================== =============================================================================== Running configure on SOWING; this may take several minutes =============================================================================== =============================================================================== Running make on SOWING; this may take several minutes =============================================================================== =============================================================================== Running make install on SOWING; this may take several minutes =============================================================================== =============================================================================== Trying to download https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/hdf5-1.10.5.tar.gz for HDF5 =============================================================================== =============================================================================== Running configure on HDF5; this may take several minutes =============================================================================== =============================================================================== Running make on HDF5; this may take several minutes =============================================================================== =============================================================================== Running make install on HDF5; this may take several minutes =============================================================================== Compilers:
> >> C Compiler: mpicc -fopenmp -fPIC -O3
> >> Version: gcc (GCC) 7.4.0
> >> C++ Compiler: mpicxx -fopenmp -fPIC -O3
> >> Version: g++ (GCC) 7.4.0
> >> Fortran Compiler: mpif77 -fopenmp -fPIC -O3
> >> Version: GNU Fortran (GCC) 7.4.0
> >> Linkers:
> >> Static linker: /usr/bin/ar cr
> >> Dynamic linker: /usr/bin/ar
> >> Libraries linked against: -lgdi32 -luser32 -ladvapi32 -lkernel32 -lquadmath -lstdc++ -ldl
> >> make:
> >> Version: 4.2
> >> /usr/bin/make
> >> BlasLapack:
> >> Library: -llapack -lblas
> >> uses 4 byte integers
> >> MPI:
> >> Version: 3
> >> Mpiexec: mpiexec --oversubscribe
> >> OMPI_VERSION: 3.1.3
> >> pthread:
> >> hdf5:
> >> Version: 1.10.5
> >> Includes: -I/home/balay/petsc/arch-mswin-cxx-opt/include
> >> Library: -Wl,-rpath,/home/balay/petsc/arch-mswin-cxx-opt/lib -L/home/balay/petsc/arch-mswin-cxx-opt/lib -lhdf5hl_fortran -lhdf5_fortran -lhdf5_hl -lhdf5
> >> cmake:
> >> Version: 3.14.5
> >> /usr/bin/cmake
> >> sowing:
> >> Version: 1.1.25
> >> /home/balay/petsc/arch-mswin-cxx-opt/bin/bfort
> >> Language used to compile PETSc: Cxx
> >> PETSc:
> >> PETSC_ARCH: arch-mswin-cxx-opt
> >> PETSC_DIR: /home/balay/petsc
> >> Scalar type: real
> >> Precision: double
> >> Support for __float128
> >> Integer size: 4 bytes
> >> shared libraries: disabled
> >> Memory alignment from malloc(): 16 bytes
> >> xxx=========================================================================xxx
> >> Configure stage complete. Now build PETSc libraries with:
> >> make PETSC_DIR=/home/balay/petsc PETSC_ARCH=arch-mswin-cxx-opt all
> >> xxx=========================================================================xxx
> >>
> >> balay at ps5 ~/petsc
> >> $
> >>
> >>
> >>
> >>
> >>
> >>
> >> On Fri, 6 Dec 2019, Povolotskyi, Mykhailo wrote:
> >>
> >>> I checked:
> >>>
> >>> I cannot build C++ programs with MPI, but I can build and run C programs
> >>> with MPI.
> >>>
> >>> I have -with-log=0 because there is an overhead if many small objects
> >>> are created, which is my case.
> >>>
> >>> As for the fortran, I will remove --with-fortran=0
> >>>
> >>> On 12/5/2019 11:53 PM, Smith, Barry F. wrote:
> >>>> Can you actually build and run C++ programs with the MPI?
> >>>>
> >>>> Executing: mpicxx -o /tmp/petsc-Llvze6/config.setCompilers/conftest.exe -fopenmp -fPIC /tmp/petsc-Llvze6/config.setCompilers/conftest.o
> >>>> Possible ERROR while running linker: exit code 1
> >>>> stderr:
> >>>> /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lmpi_cxx
> >>>> collect2: error: ld returned 1 exit status
> >>>> Error testing C++ compiler: Cannot compile/link Cxx with mpicxx.
> >>>> MPI installation mpicxx is likely incorrect.
> >>>> Use --with-mpi-dir to indicate an alternate MPI.
> >>>>
> >>>> Also you have --with-fortran=0
> >>>>
> >>>> but --download-fblaslapack and FOPTFLAGS=-O3
> >>>>
> >>>> and why do you have --with-log=0 it costs no overhead if you do not use it and is always useful for tracking performance.
> >>>>
> >>>> Barry
> >>>>
> >>>>
> >>>>> On Dec 5, 2019, at 9:19 PM, Povolotskyi, Mykhailo <mpovolot at purdue.edu> wrote:
> >>>>>
> >>>>> Dear Petsc support team,
> >>>>>
> >>>>> for some reasons I have to build petsc under Windows.
> >>>>>
> >>>>> I have installed Cygwin with GNU compilers and OpenMPI.
> >>>>>
> >>>>> Unfortunately, the configuration fails with the following message:
> >>>>>
> >>>>> TESTING: checkCxxCompiler from
> >>>>> config.setCompilers(config/BuildSystem/config/setCompilers.py:814)
> >>>>> *******************************************************************************
> >>>>> UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log
> >>>>> for details):
> >>>>> -------------------------------------------------------------------------------
> >>>>> C++ compiler you provided with -with-cxx=mpicxx does not work.
> >>>>> Cannot compile/link Cxx with mpicxx.
> >>>>>
> >>>>> I'm attaching the *.log file.
> >>>>>
> >>>>> Please advise,
> >>>>>
> >>>>> Michael.
> >>>>>
> >>>>> <configure.log>
>
More information about the petsc-users
mailing list