[CIG-SHORT] PyLith Installer PETSc Issue

Brad Aagaard baagaard at usgs.gov
Tue Sep 18 09:40:36 PDT 2018


My original reply didn't go to the cig-short list, so I am sending it again.

It sounds like your build issue is the branch of PETSc being used. You 
need the knepley/pylith branch of PETSc, not the master branch. Matt 
sometimes adds new features in the knepley/pylith branch before they get 
merged into master. Likewise, he controls when master gets merged into 
the knepley/pylith branch so that we know when to expect PETSc updates 
to break things in PyLith.

Matt also mentioned that there was a short time period last week when he 
broke the knepley/pylith PETSc branch. This is fixed now.

Brad

On 9/14/18 3:23 AM, Robert Walker wrote:
> Hello,
> 
> Not sure if this is the right place to ask this, or it would be better 
> to kick it over to petsc-users.
> I am trying to use the installer to build PyLith from source, and I am 
> encountering the following error when trying to make pylith-petsc, using 
> the configure settings that are stock for the installer script, but 
> listed below anyway:
> 
> ./configure --prefix=/home/rcf-40/rlwalker/pylith \
> --with-c2html=0 --with-x=0 \
> --with-clanguage=C \
> --with-mpicompilers=1 \
> --with-shared-libraries=1 --with-64-bit-points=1 --with-large-file-io=1 \
> --download-chaco=1 --download-ml=1 --download-f2cblaslapack=1 
> --with-hdf5=1 --with-hdf5-dir=/home/rcf-40/rlwalker/pylith --with-zlib=1 
> --LIBS=-lz   --with-debugging=0  --with-fc=0 
> CPPFLAGS="-I/home/rcf-40/rlwalker/pylith/include 
> -I/home/rcf-40/rlwalker/pylith/include " 
> LDFLAGS="-L/home/rcf-40/rlwalker/pylith/lib 
> -L/home/rcf-40/rlwalker/pylith/lib64 -L/home/rcf-40/rlwalker/pylith/lib 
> -L/home/rcf-40/rlwalker/pylith/lib64 " CFLAGS="-fPIC" CXXFLAGS="-fPIC 
> -DMPICH_IGNORE_CXX_SEEK" FCFLAGS="" \
> PETSC_DIR=/home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith 
> PETSC_ARCH=arch-pylith && \
> 
> 
> /* ================================================================== */
> /* ( End PETSc Config....Next is the error) */
> /* ================================================================== */
> 
> 
> 
> In file included from 
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmpleximpl.h:8:0,
>                   from 
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/petscfeimpl.h:7,
>                   from 
> /auto/rcf-proj/rlw1/build/pylith/petsc-pylith/src/dm/field/impls/ds/dmfieldds.c:2:
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h: 
> In function ‘DMGetLocalOffset_Private’:
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:335:15: 
> error: dereferencing pointer to incomplete type
>       *start = s->atlasOff[point - s->pStart];
>                 ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:335:35: 
> error: dereferencing pointer to incomplete type
>       *start = s->atlasOff[point - s->pStart];
>                                     ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:336:24: 
> error: dereferencing pointer to incomplete type
>       *end   = *start + s->atlasDof[point - s->pStart];
>                          ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:336:44: 
> error: dereferencing pointer to incomplete type
>       *end   = *start + s->atlasDof[point - s->pStart];
>                                              ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h: 
> In function ‘DMGetLocalFieldOffset_Private’:
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:357:46: 
> error: dereferencing pointer to incomplete type
>       const PetscSection s = dm->defaultSection->field[field];
>                                                ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:358:15: 
> error: dereferencing pointer to incomplete type
>       *start = s->atlasOff[point - s->pStart];
>                 ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:358:35: 
> error: dereferencing pointer to incomplete type
>       *start = s->atlasOff[point - s->pStart];
>                                     ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:359:24: 
> error: dereferencing pointer to incomplete type
>       *end   = *start + s->atlasDof[point - s->pStart];
>                          ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:359:44: 
> error: dereferencing pointer to incomplete type
>       *end   = *start + s->atlasDof[point - s->pStart];
>                                              ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h: 
> In function ‘DMGetGlobalOffset_Private’:
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:383:32: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     dof  = s->atlasDof[point - s->pStart];
>                                  ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:383:52: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     dof  = s->atlasDof[point - s->pStart];
>                                                      ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:384:32: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     cdof = s->bc ? s->bc->atlasDof[point - 
> s->bc->pStart] : 0;
>                                  ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:384:40: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     cdof = s->bc ? s->bc->atlasDof[point - 
> s->bc->pStart] : 0;
>                                          ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:384:64: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     cdof = s->bc ? s->bc->atlasDof[point - 
> s->bc->pStart] : 0;
>                                                                  ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:385:15: 
> error: dereferencing pointer to incomplete type
>       *start = s->atlasOff[point - s->pStart];
>                 ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:385:35: 
> error: dereferencing pointer to incomplete type
>       *start = s->atlasOff[point - s->pStart];
>                                     ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h: 
> In function ‘DMGetGlobalFieldOffset_Private’:
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:417:50: 
> error: dereferencing pointer to incomplete type
>       const PetscSection fs    = dm->defaultSection->field[field];
>                                                    ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:419:33: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     loff  = s->atlasOff[point - s->pStart];
>                                   ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:419:53: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     loff  = s->atlasOff[point - s->pStart];
>                                                       ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:420:34: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     goff  = gs->atlasOff[point - s->pStart];
>                                    ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:420:54: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     goff  = gs->atlasOff[point - s->pStart];
>                                                        ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:421:34: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     lfoff = fs->atlasOff[point - s->pStart];
>                                    ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:421:54: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     lfoff = fs->atlasOff[point - s->pStart];
>                                                        ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:422:34: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     fdof  = fs->atlasDof[point - s->pStart];
>                                    ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:422:54: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     fdof  = fs->atlasDof[point - s->pStart];
>                                                        ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:423:34: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     fcdof = fs->bc ? fs->bc->atlasDof[point - 
> fs->bc->pStart] : 0;
>                                    ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:423:43: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     fcdof = fs->bc ? fs->bc->atlasDof[point - 
> fs->bc->pStart] : 0;
>                                             ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:423:68: 
> error: dereferencing pointer to incomplete type
>       const PetscInt     fcdof = fs->bc ? fs->bc->atlasDof[point - 
> fs->bc->pStart] : 0;
>                                                                      ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:427:50: 
> error: dereferencing pointer to incomplete type
>         const PetscSection ffs = dm->defaultSection->field[f];
>                                                    ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:428:20: 
> error: dereferencing pointer to incomplete type
>         ffcdof += ffs->bc ? ffs->bc->atlasDof[point - ffs->bc->pStart] : 0;
>                      ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:428:30: 
> error: dereferencing pointer to incomplete type
>         ffcdof += ffs->bc ? ffs->bc->atlasDof[point - ffs->bc->pStart] : 0;
>                                ^
> /home/rcf-40/rlwalker/NTS/build/pylith/petsc-pylith/include/petsc/private/dmimpl.h:428:56: 
> error: dereferencing pointer to incomplete type
>         ffcdof += ffs->bc ? ffs->bc->atlasDof[point - ffs->bc->pStart] : 0;
>                                                          ^
> make[3]: *** [arch-pylith/obj/dm/field/impls/ds/dmfieldds.o] Error 1
> make[3]: Leaving directory `/auto/rcf-proj/rlw1/build/pylith/petsc-pylith'
> make[2]: *** [petsc] Error 2
> make[2]: Leaving directory `/auto/rcf-proj/rlw1/build/pylith'
> make[1]: *** [installed_petsc] Error 2
> make[1]: Leaving directory `/auto/rcf-proj/rlw1/build/pylith'
> make: *** [installed_pylith] Error 2
> 
> /* ========================================================== */
> /* End Error */
> /* ========================================================== */
> 
> Looking at ìt my thought is that there is a goof in the interaction 
> between the PetscSection type and the functions outlined in 
> dmimpl.h....it's a private function so maybe a PETSc bug, but again I 
> don't remember what version PETSc that the pylith installer script pulls.
> 
> Thanks,
> 
> Robert
> 
> 
> 
> 
> Robert L. Walker
> MS Petroleum Engineering
> Mork Family Department of Chemicals and Materials Sciences
> University of Southern California
> ----------------------------------------------
> Mobile US: +1 (213) - 290 -7101
> Mobile EU: +34 62 274 66 40
> rlwalker at usc.edu <mailto:rlwalker at usc.edu>


More information about the CIG-SHORT mailing list