[petsc-users] PETSc 3.15.3 compiling error

Junchao Zhang junchao.zhang at gmail.com
Wed Sep 1 14:59:09 CDT 2021


On Wed, Sep 1, 2021 at 2:52 PM Satish Balay <balay at 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]
>
> Then, a hack for use of MUMPS 5.2.1 is at the beginning of mumps.c, add
two lines
#define PETSC_PKG_MUMPS_VERSION_GE(x,y,z) 0
#define PETSC_PKG_MUMPS_VERSION_LT(x,y,z) 1


> Satish
>
> On Wed, 1 Sep 2021, Junchao Zhang wrote:
>
> > On Wed, Sep 1, 2021 at 2:20 PM Sam Guo <sam.guo at 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.guo at 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 <balay at 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 <balay at 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 <
> balay at 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 <
> > >>> balay at 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.guo at cd-adapco.com
> > >>> > > >
> > >>> > > > > wrote:
> > >>> > > > > > > > >
> > >>> > > > > > > > > > I use pre-installed
> > >>> > > > > > > > > >
> > >>> > > > > > > > > > On Mon, Aug 30, 2021 at 4:53 PM Satish Balay <
> > >>> > > balay at 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
> > >>> > > > > > > > > >> >
> > >>> > > > > > > > > >>
> > >>> > > > > > > > > >>
> > >>> > > > > > > > >
> > >>> > > > > > > >
> > >>> > > > > > > >
> > >>> > > > > > >
> > >>> > > > > >
> > >>> > > > >
> > >>> > > > >
> > >>> > > >
> > >>> > >
> > >>> > >
> > >>> >
> > >>>
> > >>>
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210901/ec21478b/attachment-0001.html>


More information about the petsc-users mailing list