[petsc-users] Cmake problem on an old cluster

Satish Balay balay at mcs.anl.gov
Fri Jan 20 08:10:06 CST 2023


> [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]

I guess this g++ version is a bit too old, and you might need a newer version of gcc.

[if one is not already installed on this cluster] One way to install a newer gcc - say gcc-7 is via spack:
git clone https://github.com/spack/spack/
cd spack
./bin/spack install gcc at 7.5.0

Satish

On Thu, 19 Jan 2023, Danyang Su wrote:

> Hi Satish,
> 
> For some unknown reason during Cmake 3.18.5 installation, I get error "Cannot find a C++ compiler that supports both C++11 and the specified C++ flags.". The system installed Cmake 3.2.3 is way too old. 
> 
> I will just leave it as is since superlu_dist is optional in my model. 
> 
> Thanks for your suggestions to make it work,
> 
> Danyang
> 
> On 2023-01-19, 4:52 PM, "Satish Balay" <balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>> wrote:
> 
> 
> Looks like .bashrc is getting sourced again during the build process [as make creates new bash shell during the build] - thus overriding the env variable that's set.
> 
> 
> Glad you have a working build now. Thanks for the update!
> 
> 
> BTW: superlu-dist requires cmake 3.18.1 or higher. You could check if this older version of cmake builds on this cluster [if you want to give superlu-dist a try again]
> 
> 
> Satish
> 
> 
> 
> 
> On Thu, 19 Jan 2023, Danyang Su wrote:
> 
> 
> > Hi Satish,
> > 
> > That's a bit strange since I have already use export
> > PETSC_DIR=/home/danyangs/soft/petsc/petsc-3.18.3.
> > 
> > Yes, I have petsc 3.13.6 installed and has PETSC_DIR set in the bashrc file.
> > After changing PETSC_DIR in the bashrc file, PETSc can be compiled now.
> > 
> > Thanks,
> > 
> > Danyang
> > 
> > On 2023-01-19 3:58 p.m., Satish Balay wrote:
> > >> /home/danyangs/soft/petsc/petsc-3.13.6/src/sys/makefile contains a
> > >> directory not on the filesystem: ['\\']
> > >
> > > Its strange that its complaining about petsc-3.13.6. Do you have this
> > > location set in your .bashrc or similar file - that's getting sourced during
> > > the build?
> > >
> > > Perhaps you could start with a fresh copy of petsc and retry?
> > >
> > > Also suggest using 'arch-' prefix for PETSC_ARCH i.e
> > > 'arch-intel-14.0.2-openmpi-1.6.5' - just in case there are some bugs lurking
> > > with skipping build files in this location
> > >
> > > Satish
> > >
> > >
> > > On Thu, 19 Jan 2023, Danyang Su wrote:
> > >
> > >> Hi Barry and Satish,
> > >>
> > >> I guess there is compatibility problem with some external package. The
> > >> latest
> > >> CMake complains about the compiler, so I remove superlu_dist option since I
> > >> rarely use it. Then the HYPRE package shows "Error: Hypre requires C++
> > >> compiler. None specified", which is a bit tricky since c++ compiler is
> > >> specified in the configuration so I comment the related error code in
> > >> hypre.py
> > >> during configuration. After doing this, there is no error during PETSc
> > >> configuration but new error occurs during make process.
> > >>
> > >> **************************ERROR*************************************
> > >> Error during compile, check
> > >> intel-14.0.2-openmpi-1.6.5/lib/petsc/conf/make.log
> > >> Send it and intel-14.0.2-openmpi-1.6.5/lib/petsc/conf/configure.log to
> > >> petsc-maint at mcs.anl.gov <mailto:petsc-maint at mcs.anl.gov>
> > >> ********************************************************************
> > >>
> > >> It might be not worth checking this problem since most of the users do not
> > >> work on such old cluster. Both log files are attached in case any developer
> > >> wants to check. Please let me know if there is any suggestions and I am
> > >> willing to make a test.
> > >>
> > >> Thanks,
> > >>
> > >> Danyang
> > >>
> > >> On 2023-01-19 11:18 a.m., Satish Balay wrote:
> > >>> BTW: cmake is required by superlu-dist not petsc.
> > >>>
> > >>> And its possible that petsc might not build with this old version of
> > >>> openmpi
> > >>> - [and/or the externalpackages that you are installing - might not build
> > >>> with this old version of intel compilers].
> > >>>
> > >>> Satish
> > >>>
> > >>> On Thu, 19 Jan 2023, Barry Smith wrote:
> > >>>
> > >>>> Remove
> > >>>> --download-cmake=/home/danyangs/soft/petsc/petsc-3.18.3/packages/cmake-3.25.1.tar.gz
> > >>>> and install CMake yourself. Then configure PETSc with
> > >>>> --with-cmake=directory you installed it in.
> > >>>>
> > >>>> Barry
> > >>>>
> > >>>>
> > >>>>> On Jan 19, 2023, at 1:46 PM, Danyang Su <danyang.su at gmail.com <mailto:danyang.su at gmail.com>> wrote:
> > >>>>>
> > >>>>> Hi All,
> > >>>>>
> > >>>>> I am trying to install the latest PETSc on an old cluster but always get
> > >>>>> some error information at the step of cmake. The system installed cmake
> > >>>>> is
> > >>>>> V3.2.3, which is out-of-date for PETSc. I tried to use --download-cmake
> > >>>>> first, it does not work. Then I tried to clean everything (delete the
> > >>>>> petsc_arch folder), download the latest cmake myself and pass the path
> > >>>>> to
> > >>>>> the configuration, the error is still there.
> > >>>>>
> > >>>>> The compiler there is a bit old, intel-14.0.2 and openmpi-1.6.5. I have
> > >>>>> no
> > >>>>> problem to install PETSc-3.13.6 there. The latest version cannot pass
> > >>>>> configuration, unfortunately. Attached is the last configuration I have
> > >>>>> tried.
> > >>>>>
> > >>>>> --with-cc=mpicc --with-cxx=mpicxx --with-fc=mpif90
> > >>>>> --download-cmake=/home/danyangs/soft/petsc/petsc-3.18.3/packages/cmake-3.25.1.tar.gz
> > >>>>> --download-mumps --download-scalapack --download-parmetis
> > >>>>> --download-metis
> > >>>>> --download-ptscotch --download-fblaslapack --download-hypre
> > >>>>> --download-superlu_dist --download-hdf5=yes --with-hdf5-fortran-bindings
> > >>>>> --with-debugging=0 COPTFLAGS="-O2 -march=native -mtune=native"
> > >>>>> CXXOPTFLAGS="-O2 -march=native -mtune=native" FOPTFLAGS="-O2
> > >>>>> -march=native
> > >>>>> -mtune=native"
> > >>>>>
> > >>>>> Is there any solution for this.
> > >>>>>
> > >>>>> Thanks,
> > >>>>>
> > >>>>> Danyang
> > >>>>>
> > >>>>>
> > >>>>> <configure.log>
> > 
> 
> 
> 
> 


More information about the petsc-users mailing list