I build MUMPS at the designated machine but my local machine does not have fortran compiler.
On Wed, Sep 1, 2021 at 1:58 PM Matthew Knepley <knep...@gmail.com> wrote: > On Wed, Sep 1, 2021 at 4:03 PM Sam Guo <sam....@cd-adapco.com> wrote: > >> Hi Matt, >> I tried --with-mumps-dir but same error. >> > > How can you build MUMPS without a Fortran compiler? And if you have one, > why are you not telling PETSc about it? > > Thanks, > > Matt > > >> Hi Junchao, >> That's a very good clue and suggestion. I looked petscpkg_version.h. >> It is empty as follows. I'll follow your suggestion and define those macros >> in mumps.c. >> >> #if !defined(INCLUDED_PETSCPKG_VERSION_H) >> #define INCLUDED_PETSCPKG_VERSION_H >> >> #endif >> >> Hi Satish, >> Yes, what I am doing is hacking but it is necessary since have own own >> mpi wrapper. >> >> Thank you all, >> Sam >> >> On Wed, Sep 1, 2021 at 12:52 PM Satish Balay <ba...@mcs.anl.gov> wrote: >> >>> Well the build process used here is: >>> >>> >> (1) defined -DPETSC_HAVE_MUMPS, >>> >> (2) compiles and links mat/impls/aij/mpi/mumps/mumps.c >>> >>> >>> i.e configure is skipped [for mumps part] so PETSC_PKG_MUMPS_VERSION_GE >>> etc are missing [hence this error] >>> >>> Satish >>> >>> On Wed, 1 Sep 2021, Junchao Zhang wrote: >>> >>> > On Wed, Sep 1, 2021 at 2:20 PM Sam Guo <sam....@cd-adapco.com> wrote: >>> > >>> > > If we go back to the original compiling error, >>> > > "petsc/src/mat/impls/aij/mpi/mumps/mumps.c:52:31: error: missing >>> binary >>> > > operator before token "(" >>> > > 52 | #if PETSC_PKG_MUMPS_VERSION_GE(5,3,0)" >>> > > I don't understand what PETSC_PKG_MUMPS_VERSION_GE(5,3,0) is doing. >>> > > >>> > When petsc is configured with mumps, you will find the macro >>> > PETSC_PKG_MUMPS_VERSION_GE(MAJOR,MINOR,SUBMINOR) in >>> > $PETSC_ARCH/include/petscpkg_version.h >>> > Sam, you can manually compile the failed file, mumps.c, with >>> preprocessing, >>> > to see what is wrong in the expansion of the macro. >>> > >>> > >>> > > >>> > > On Wed, Sep 1, 2021 at 12:12 PM Sam Guo <sam....@cd-adapco.com> >>> wrote: >>> > > >>> > >> I believe I am using MUMPS since I have done following >>> > >> (1) defined -DPETSC_HAVE_MUMPS, >>> > >> (2) compiles and links mat/impls/aij/mpi/mumps/mumps.c >>> > >> (3) link my pre-compiled MUMPS, and >>> > >> (4) specifies following PETSc options >>> > >> checkError(EPSGetST(eps, &st)); >>> > >> checkError(STSetType(st, STSINVERT)); >>> > >> //if(useShellMatrix) checkError(STSetMatMode(st, >>> > >> ST_MATMODE_SHELL)); >>> > >> checkError(STGetKSP(st, &ksp)); >>> > >> checkError(KSPSetOperators(ksp, A, A)); >>> > >> checkError(KSPSetType(ksp, KSPPREONLY)); >>> > >> checkError(KSPGetPC(ksp, &pc)); >>> > >> checkError(MatSetOption(A, MAT_SPD, PETSC_TRUE)); >>> > >> checkError(PCSetType(pc, PCCHOLESKY)); >>> > >> checkError(PCFactorSetMatSolverType(pc, MATSOLVERMUMPS)); >>> > >> checkError(PCFactorSetUpMatSolverType(pc)); >>> > >> checkError(PetscOptionsSetValue(NULL, >>> "-mat_mumps_icntl_13","1")); >>> > >> >>> > >> Another evidence I am using MUMPS is that If I skip (1)-(3) above, >>> I got >>> > >> the PETSc error saying that MUMPS is required. >>> > >> >>> > >> On Wed, Sep 1, 2021 at 12:00 PM Satish Balay <ba...@mcs.anl.gov> >>> wrote: >>> > >> >>> > >>> mumps is a fortran package - so best to specify fc. Any specific >>> reason >>> > >>> for needing to force '--with-fc=0'? >>> > >>> >>> > >>> The attached configure.log is not using mumps. >>> > >>> >>> > >>> Satish >>> > >>> >>> > >>> On Wed, 1 Sep 2021, Sam Guo wrote: >>> > >>> >>> > >>> > fc should not be required since I link PETSc with pre-compiled >>> MUMPS. >>> > >>> In >>> > >>> > fact, --with-mumps-include --with-mumps-lib --with-mumps-serial >>> should >>> > >>> not >>> > >>> > be required since my own CMake defines -DPETSC_HAVE_MUMPS and >>> links my >>> > >>> > pre-compiled MUMPS. >>> > >>> > >>> > >>> > I am able to make it work using PETSc 3.11.3. Attached please >>> find the >>> > >>> > cPETSc 3.11.3 onfigure.log PETSc. >>> > >>> > >>> > >>> > On Tue, Aug 31, 2021 at 4:47 PM Satish Balay <ba...@mcs.anl.gov> >>> > >>> wrote: >>> > >>> > >>> > >>> > > >>> > >>> > > >>> > >>> >>> ******************************************************************************* >>> > >>> > > UNABLE to CONFIGURE with GIVEN OPTIONS (see >>> > >>> configure.log for >>> > >>> > > details): >>> > >>> > > >>> > >>> > > >>> > >>> >>> ------------------------------------------------------------------------------- >>> > >>> > > Package mumps requested requires Fortran but compiler turned >>> off. >>> > >>> > > >>> > >>> > > >>> > >>> >>> ******************************************************************************* >>> > >>> > > >>> > >>> > > i.e remove '--with-fc=0' and rerun configure. >>> > >>> > > >>> > >>> > > Satish >>> > >>> > > >>> > >>> > > On Tue, 31 Aug 2021, Sam Guo wrote: >>> > >>> > > >>> > >>> > > > Attached please find the latest configure.log. >>> > >>> > > > >>> > >>> > > > grep MUMPS_VERSION >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/*.h >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/cmumps_c.h:#ifndef >>> > >>> > > > MUMPS_VERSION >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/cmumps_c.h:#define >>> > >>> > > > MUMPS_VERSION "5.2.1" >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/cmumps_c.h:#ifndef >>> > >>> > > > MUMPS_VERSION_MAX_LEN >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/cmumps_c.h:#define >>> > >>> > > > MUMPS_VERSION_MAX_LEN 30 >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/cmumps_c.h: >>> > >>> > > > char version_number[MUMPS_VERSION_MAX_LEN + 1 + 1]; >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/dmumps_c.h:#ifndef >>> > >>> > > > MUMPS_VERSION >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/dmumps_c.h:#define >>> > >>> > > > MUMPS_VERSION "5.2.1" >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/dmumps_c.h:#ifndef >>> > >>> > > > MUMPS_VERSION_MAX_LEN >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/dmumps_c.h:#define >>> > >>> > > > MUMPS_VERSION_MAX_LEN 30 >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/dmumps_c.h: >>> > >>> > > > char version_number[MUMPS_VERSION_MAX_LEN + 1 + 1]; >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/smumps_c.h:#ifndef >>> > >>> > > > MUMPS_VERSION >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/smumps_c.h:#define >>> > >>> > > > MUMPS_VERSION "5.2.1" >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/smumps_c.h:#ifndef >>> > >>> > > > MUMPS_VERSION_MAX_LEN >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/smumps_c.h:#define >>> > >>> > > > MUMPS_VERSION_MAX_LEN 30 >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/smumps_c.h: >>> > >>> > > > char version_number[MUMPS_VERSION_MAX_LEN + 1 + 1]; >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/zmumps_c.h:#ifndef >>> > >>> > > > MUMPS_VERSION >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/zmumps_c.h:#define >>> > >>> > > > MUMPS_VERSION "5.2.1" >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/zmumps_c.h:#ifndef >>> > >>> > > > MUMPS_VERSION_MAX_LEN >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/zmumps_c.h:#define >>> > >>> > > > MUMPS_VERSION_MAX_LEN 30 >>> > >>> > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/zmumps_c.h: >>> > >>> > > > char version_number[MUMPS_VERSION_MAX_LEN + 1 + 1]; >>> > >>> > > > >>> > >>> > > > On Mon, Aug 30, 2021 at 9:47 PM Satish Balay < >>> ba...@mcs.anl.gov> >>> > >>> wrote: >>> > >>> > > > >>> > >>> > > > > Also - what do you have for: >>> > >>> > > > > >>> > >>> > > > > grep MUMPS_VERSION >>> > >>> > > > > >>> > >>> > > >>> > >>> >>> /u/cd4hhv/dev4/mumps/5.2.1-vanilla-parmetis3.2.0-openmp-cda-001/linux-x86_64-2.3.4/include/*.h >>> > >>> > > > > >>> > >>> > > > > Satish >>> > >>> > > > > >>> > >>> > > > > On Mon, 30 Aug 2021, Satish Balay via petsc-users wrote: >>> > >>> > > > > >>> > >>> > > > > > please resend the logs >>> > >>> > > > > > >>> > >>> > > > > > Satish >>> > >>> > > > > > >>> > >>> > > > > > On Mon, 30 Aug 2021, Sam Guo wrote: >>> > >>> > > > > > >>> > >>> > > > > > > Same compiling error with --with-mumps-serial=1. >>> > >>> > > > > > > >>> > >>> > > > > > > On Mon, Aug 30, 2021 at 8:22 PM Satish Balay < >>> > >>> ba...@mcs.anl.gov> >>> > >>> > > > > wrote: >>> > >>> > > > > > > >>> > >>> > > > > > > > Use the additional option: -with-mumps-serial >>> > >>> > > > > > > > >>> > >>> > > > > > > > Satish >>> > >>> > > > > > > > >>> > >>> > > > > > > > On Mon, 30 Aug 2021, Sam Guo wrote: >>> > >>> > > > > > > > >>> > >>> > > > > > > > > Attached please find the configure.log. I use my >>> own >>> > >>> CMake. I >>> > >>> > > have >>> > >>> > > > > > > > > defined -DPETSC_HAVE_MUMPS. Thanks. >>> > >>> > > > > > > > > >>> > >>> > > > > > > > > On Mon, Aug 30, 2021 at 4:56 PM Sam Guo < >>> > >>> sam....@cd-adapco.com >>> > >>> > > > >>> > >>> > > > > wrote: >>> > >>> > > > > > > > > >>> > >>> > > > > > > > > > I use pre-installed >>> > >>> > > > > > > > > > >>> > >>> > > > > > > > > > On Mon, Aug 30, 2021 at 4:53 PM Satish Balay < >>> > >>> > > ba...@mcs.anl.gov> >>> > >>> > > > > > > > wrote: >>> > >>> > > > > > > > > > >>> > >>> > > > > > > > > >> >>> > >>> > > > > > > > > >> Are you using --download-mumps or pre-installed >>> > >>> mumps? If >>> > >>> > > using >>> > >>> > > > > > > > > >> pre-installed - try --download-mumps. >>> > >>> > > > > > > > > >> >>> > >>> > > > > > > > > >> If you still have issues - send us >>> configure.log and >>> > >>> > > make.log >>> > >>> > > > > from the >>> > >>> > > > > > > > > >> failed build. >>> > >>> > > > > > > > > >> >>> > >>> > > > > > > > > >> Satish >>> > >>> > > > > > > > > >> >>> > >>> > > > > > > > > >> On Mon, 30 Aug 2021, Sam Guo wrote: >>> > >>> > > > > > > > > >> >>> > >>> > > > > > > > > >> > Dear PETSc dev team, >>> > >>> > > > > > > > > >> > I am compiling petsc 3.15.3 and got >>> following >>> > >>> compiling >>> > >>> > > > > error >>> > >>> > > > > > > > > >> > >>> petsc/src/mat/impls/aij/mpi/mumps/mumps.c:52:31: >>> > >>> error: >>> > >>> > > > > missing >>> > >>> > > > > > > > binary >>> > >>> > > > > > > > > >> > operator before token "(" >>> > >>> > > > > > > > > >> > 52 | #if PETSC_PKG_MUMPS_VERSION_GE(5,3,0) >>> > >>> > > > > > > > > >> > Any idea what I did wrong? >>> > >>> > > > > > > > > >> > >>> > >>> > > > > > > > > >> > Thanks, >>> > >>> > > > > > > > > >> > Sam >>> > >>> > > > > > > > > >> > >>> > >>> > > > > > > > > >> >>> > >>> > > > > > > > > >> >>> > >>> > > > > > > > > >>> > >>> > > > > > > > >>> > >>> > > > > > > > >>> > >>> > > > > > > >>> > >>> > > > > > >>> > >>> > > > > >>> > >>> > > > > >>> > >>> > > > >>> > >>> > > >>> > >>> > > >>> > >>> > >>> > >>> >>> > >>> >>> > >>> >>> > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ > <http://www.cse.buffalo.edu/~knepley/> >