[petsc-users] PETSc 3.15.3 compiling error

Matthew Knepley knepley at gmail.com
Wed Sep 1 19:02:41 CDT 2021


On Wed, Sep 1, 2021 at 5:19 PM Sam Guo <sam.guo at cd-adapco.com> wrote:

> I build MUMPS at the designated machine but my local machine does not have
> fortran compiler.
>

Can you run the configure there?

  THanks,

     Matt


> 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/>
>>
>

-- 
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/ab9ce301/attachment-0001.html>


More information about the petsc-users mailing list