[petsc-users] PETSc 3.15.3 compiling error

Sam Guo sam.guo at cd-adapco.com
Wed Sep 1 16:19:29 CDT 2021


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 <knepley at gmail.com> wrote:

> On Wed, Sep 1, 2021 at 4:03 PM Sam Guo <sam.guo at 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 <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]
>>>
>>> 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
>>> > >>> > > > > > > > > >> >
>>> > >>> > > > > > > > > >>
>>> > >>> > > > > > > > > >>
>>> > >>> > > > > > > > >
>>> > >>> > > > > > > >
>>> > >>> > > > > > > >
>>> > >>> > > > > > >
>>> > >>> > > > > >
>>> > >>> > > > >
>>> > >>> > > > >
>>> > >>> > > >
>>> > >>> > >
>>> > >>> > >
>>> > >>> >
>>> > >>>
>>> > >>>
>>> >
>>>
>>>
>
> --
> 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/>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210901/03bf9c3c/attachment-0001.html>


More information about the petsc-users mailing list