[petsc-dev] Errors from PETSc 3.11 and 3.12 headers

Balay, Satish balay at mcs.anl.gov
Sun Dec 22 13:15:11 CST 2019


This error is strange. The issue does not come up in petsc build - but in petsc4py build.

I see the petsc4py build is with:

>>>>>>
+ CFLAGS=' -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic'

mpicc -pthread -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O3 -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DPETSC_DIR=/usr -I/usr/include/openmpi-x86_64 -I/usr/include/openmpi-x86_64/hypre -I/usr/lib64/gfortran/modules/openmpi/petsc -I/usr/include/openmpi-x86_64/petsc -I/usr/include -Isrc/include -I/usr/lib64/python3.6/site-packages/numpy/core/include -I/usr/include/python3.6m -c src/PETSc.c -o build/temp.linux-x86_64-3.6/src/PETSc.o
<<<

I've attempted a petsc+petsc4py build using both the following on fedora-31 [with petsc-3.12/maint] - and there were no errors 

>>>
CFLAGS=' -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic'

CFLAGS='-fexceptions -fPIC -fstack-protector-strong -g -grecord-gcc-switches -m64 -mtune=generic  -O2 -O3 --param=ssp-buffer-size=4 -pipe -pthread -Wall -Wp,-D_FORTIFY_SOURCE=2'

<<<<<

gcc (GCC) 9.2.1 20190827 (Red Hat 9.2.1-1)

petscconf.h has:

#define PETSC_DEPRECATED_ENUM(why) __attribute((deprecated))
#define PETSC_DEPRECATED_FUNCTION(why) __attribute((deprecated))
#define PETSC_DEPRECATED_MACRO(why) _Pragma(why)
#define PETSC_DEPRECATED_TYPEDEF(why) __attribute((deprecated))


Satish

On Sun, 22 Dec 2019, Smith, Barry F. wrote:

> 
>   Please send configure.log and /usr/include/openmpi-x86_64/petsc/petscconf.h
> 
>   In theory our configure checks if deprecated can be used for Enums but perhaps our test is not complete.
> 
>    Barry
> 
> 
> > On Dec 22, 2019, at 12:01 PM, Antonio Trande <anto.trande at gmail.com> wrote:
> > 
> > Hi all.
> > 
> > I don't know of these are errors related to petsc4py or to PETSc, i'm
> > writing a mail to this mailing list too.
> > Issue reported to petsc4py folks:
> > https://bitbucket.org/petsc/petsc4py/issues/133/compiling-petsc4py-3110-against-petsc-3113
> > 
> > 
> > In file included from /usr/include/openmpi-x86_64/petsc/petscsys.h:14:0,
> >                 from /usr/include/openmpi-x86_64/petsc/petscbag.h:4,
> >                 from /usr/include/openmpi-x86_64/petsc/petsc.h:5,
> >                 from src/petsc4py.PETSc.c:591,
> >                 from src/PETSc.c:4:
> > /usr/include/openmpi-x86_64/petsc/petscconf.h:85:36: error: expected ','
> > or '}' before '__attribute'
> > #define PETSC_DEPRECATED_ENUM(why) __attribute((deprecated))
> >                                    ^
> > /usr/include/openmpi-x86_64/petsc/petscksp.h:430:76: note: in expansion
> > of macro 'PETSC_DEPRECATED_ENUM'
> > #define KSP_DIVERGED_PCSETUP_FAILED_DEPRECATED
> > KSP_DIVERGED_PCSETUP_FAILED PETSC_DEPRECATED_ENUM("Use
> > KSP_DIVERGED_PC_FAILED (since v3.11)")
> > 
> >    ^
> > /usr/include/openmpi-x86_64/petsc/petscksp.h:452:15: note: in expansion
> > of macro 'KSP_DIVERGED_PCSETUP_FAILED_DEPRECATED'
> >               KSP_DIVERGED_PCSETUP_FAILED_DEPRECATED  = -11,
> >               ^
> > In file included from src/PETSc.c:4:0:
> > src/petsc4py.PETSc.c: In function '__pyx_f_8petsc4py_5PETSc_KSP_Converged':
> > src/petsc4py.PETSc.c:35723:22: error: 'KSP_CONVERGED_ITERATING'
> > undeclared (first use in this function)
> >     (__pyx_v_r[0]) = KSP_CONVERGED_ITERATING;
> >                      ^
> > src/petsc4py.PETSc.c:35723:22: note: each undeclared identifier is
> > reported only once for each function it appears in
> > src/petsc4py.PETSc.c: In function
> > '__pyx_pf_8petsc4py_5PETSc_3KSP_50callConvergenceTest':
> > src/petsc4py.PETSc.c:171473:20: error: 'KSP_CONVERGED_ITERATING'
> > undeclared (first use in this function)
> >   __pyx_v_reason = KSP_CONVERGED_ITERATING;
> >                    ^
> > src/petsc4py.PETSc.c: In function
> > '__pyx_pf_8petsc4py_5PETSc_3KSP_112getConvergedReason':
> > src/petsc4py.PETSc.c:174687:20: error: 'KSP_CONVERGED_ITERATING'
> > undeclared (first use in this function)
> >   __pyx_v_reason = KSP_CONVERGED_ITERATING;
> >                    ^
> > src/petsc4py.PETSc.c: In function '__pyx_pymod_exec_PETSc':
> > src/petsc4py.PETSc.c:303605:51: error: 'KSP_CONVERGED_ITERATING'
> > undeclared (first use in this function)
> >   __pyx_t_7 =
> > __Pyx_PyInt_From_KSPConvergedReason(KSP_CONVERGED_ITERATING); if
> > (unlikely(!__pyx_t_7)) __PYX_ERR(37, 64, __pyx_L1_error)
> >                                                   ^
> > error: command 'mpicc' failed with exit status
> > 
> > 
> > -- 
> > ---
> > Antonio Trande
> > Fedora Project
> > mailto 'sagitter at fedoraproject dot org'
> > GPG key: 0x7B30EE04E576AA84
> > GPG key server: https://keys.openpgp.org/
> > 
> 


More information about the petsc-dev mailing list