[petsc-users] PETSc 3.15.3 compiling error

Junchao Zhang junchao.zhang at gmail.com
Wed Sep 1 14:46:20 CDT 2021


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


More information about the petsc-users mailing list