Hi Junchao,
Thanks. I will test this branch and get back to you later. All the best, Danyang From: Junchao Zhang <junchao.zh...@gmail.com> Date: Saturday, April 10, 2021 at 3:32 PM To: Danyang Su <danyang...@gmail.com> Cc: Barry Smith <bsm...@petsc.dev>, "petsc-users@mcs.anl.gov" <petsc-users@mcs.anl.gov> Subject: Re: [petsc-users] Undefined reference in PETSc 3.13+ with old MPI version Danyang, Could you try branch jczhang/fix-mpi3-win with your old configuration (i.e., use system mpicc)? Note the MR 3849 is based off latest petsc-3.15 release Thanks. --Junchao Zhang On Sat, Apr 10, 2021 at 4:36 PM Junchao Zhang <junchao.zh...@gmail.com> wrote: Hi, Danyang, Send the configure.log. Also, PETSc does not need MPI_Win_allocate etc to work. I will have a look. --Junchao Zhang On Sat, Apr 10, 2021 at 2:47 PM Danyang Su <danyang...@gmail.com> wrote: Hi Barry, I tried this option before but get ‘Error running configure on OpenMPI’ ******************************************************************************* UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log for details): ------------------------------------------------------------------------------- Error running configure on OPENMPI ******************************************************************************* File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/configure.py", line 456, in petsc_configure framework.configure(out = sys.stdout) File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/framework.py", line 1253, in configure self.processChildren() File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/framework.py", line 1242, in processChildren self.serialEvaluation(self.childGraph) File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/framework.py", line 1217, in serialEvaluation child.configure() File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/package.py", line 1144, in configure self.executeTest(self.configureLibrary) File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/base.py", line 140, in executeTest ret = test(*args,**kargs) File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/package.py", line 902, in configureLibrary for location, directory, lib, incl in self.generateGuesses(): File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/package.py", line 476, in generateGuesses d = self.checkDownload() File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/packages/OpenMPI.py", line 56, in checkDownload return self.getInstallDir() File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/package.py", line 365, in getInstallDir installDir = self.Install() File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/packages/OpenMPI.py", line 63, in Install installDir = config.package.GNUPackage.Install(self) File "/global/home/danyangs/soft/petsc/petsc-3.14.6/config/BuildSystem/config/package.py", line 1667, in Install raise RuntimeError('Error running configure on ' + self.PACKAGE) ================================================================================ Finishing configure run at Sat, 10 Apr 2021 11:57:20 -0700 ================================================================================ Thanks, Danyang From: Barry Smith <bsm...@petsc.dev> Date: Saturday, April 10, 2021 at 10:31 AM To: Danyang Su <danyang...@gmail.com> Cc: "petsc-users@mcs.anl.gov" <petsc-users@mcs.anl.gov> Subject: Re: [petsc-users] Undefined reference in PETSc 3.13+ with old MPI version Depending on the network you can remove the ./configure options --with-cc=mpicc --with-cxx=mpicxx --with-fc=mpif90 and use instead --with-cc=icc --with-cxx=icpc and--with-fc=ifort --download-openmpi Barry On Apr 10, 2021, at 12:18 PM, Danyang Su <danyang...@gmail.com> wrote: Dear PETSc developers and users, I am trying to install the latest PETSc version on an ancient cluster. The OpenMPI version is 1.6.5 and Compiler is Intel 14.0, which are the newest on that cluster. I have no problem to install PETSc up to version 3.12.5. However, if I try to use PETSc 3.13+, there are three undefined reference errors in MPI_Win_allocate, MPI_Win_attach and MPI_Win_create_dynamic. I know these three functions are available from OpenMPI 2.0+. Because the cluster is not in technical support anymore, there is no way I can install new OpenMPI version or do some update. Is it possible to disable these three functions in PETSc 3.13+ version? The errors occur in ‘make check’ step: /home/dsu/soft/petsc/petsc-3.13.0/linux-intel-openmpi/lib/libpetsc.so: undefined reference to `MPI_Win_allocate' /home/dsu/soft/petsc/petsc-3.13.0/linux-intel-openmpi/lib/libpetsc.so: undefined reference to `MPI_Win_attach' /home/dsu/soft/petsc/petsc-3.13.0/linux-intel-openmpi/lib/libpetsc.so: undefined reference to `MPI_Win_create_dynamic' The configuration used is shown below: ./configure --with-cc=mpicc --with-cxx=mpicxx --with-fc=mpif90 --download-mumps --download-scalapack --download-parmetis --download-metis --download-fblaslapack --download-hypre --download-superlu --download-hdf5=yes --with-debugging=0 COPTFLAGS="-O3 -march=native -mtune=native" CXXOPTFLAGS="-O3 -march=native -mtune=native" FOPTFLAGS="-O3 -march=native -mtune=nativels" Thanks, Danyang