<div dir="ltr">I'm not seeing Matt's allusion ... should I put this in ts/utils and petscts.h?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 13, 2020 at 4:32 PM Satish Balay <<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">At Matt alluded to - its a circular dependency - hence the error.<br>
<br>
i.e DMPlexSNESComputeJacobianFEM() is a SNES function - so it can't be called from DM sources [src/dm/impls/plex/landau/plexland.c]<br>
<br>
The dependency order is:<br>
<br>
-lpetsctao -lpetscts -lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsys<br>
<br>
Satish<br>
<br>
On Mon, 13 Jul 2020, Mark Adams wrote:<br>
<br>
> I did add #include <petscts.h> to petscdmplex.h. THat is all that I can see<br>
> that could cause trouble.<br>
> <br>
> On Mon, Jul 13, 2020 at 4:11 PM Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:<br>
> <br>
> > THis error was in this one also, plus warnings:<br>
> ><br>
> > <a href="https://gitlab.com/petsc/petsc/-/jobs/636537354" rel="noreferrer" target="_blank">https://gitlab.com/petsc/petsc/-/jobs/636537354</a><br>
> ><br>
> > "/export/home/glci/builds/zxfiRCGf/0/petsc/petsc/include/petsc/private/sectionimpl.h",<br>
> > line 21: warning: operands have incompatible types:<br>
> > struct  {pointer to long long perm, pointer to long long invPerm} ":"<br>
> > const struct  {pointer to long long perm, pointer to long long invPerm}<br>
> > "/export/home/glci/builds/zxfiRCGf/0/petsc/petsc/include/petsc/private/sectionimpl.h",<br>
> > line 21: warning: operands have incompatible types:<br>
> > struct  {pointer to long long perm, pointer to long long invPerm} ":"<br>
> > const struct  {pointer to long long perm, pointer to long long invPerm}<br>
> > "/export/home/glci/builds/zxfiRCGf/0/petsc/petsc/include/petsc/private/petscfeimpl.h",<br>
> > line 19: warning: linker scope was specified more than once: "PETSCFE_SetUp"<br>
> ><br>
> > On Mon, Jul 13, 2020 at 4:08 PM Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:<br>
> ><br>
> >><br>
> >> On Mon, Jul 13, 2020 at 4:01 PM Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>><br>
> >> wrote:<br>
> >><br>
> >>> Do these have -single-library ?<br>
> >>><br>
> >><br>
> >> This was in a single configuration, but it also happened in this one:<br>
> >><br>
> >> /scratch/svcpetsc/glci-builds/qanz_veh/0/petsc/petsc/arch-ci-linux-pkgs-cxx-mlib/lib/libpetscdm.so:<br>
> >> undefined reference to `TSGetDM'<br>
> >> /scratch/svcpetsc/glci-builds/qanz_veh/0/petsc/petsc/arch-ci-linux-pkgs-cxx-mlib/lib/libpetscdm.so:<br>
> >> undefined reference to `DMPlexSNESComputeJacobianFEM'<br>
> >> collect2: error: ld returned 1 exit status<br>
> >> gmakefile.test:185: recipe for target<br>
> >> 'arch-ci-linux-pkgs-cxx-mlib/tests/mat/tests/ex96' failed<br>
> >> make[2]: *** [arch-ci-linux-pkgs-cxx-mlib/tests/mat/tests/ex96] Error 1<br>
> >> make[2]: *** Waiting for unfinished jobs....<br>
> >> /scratch/svcpetsc/glci-builds/qanz_veh/0/petsc/petsc/lib/petsc/conf/test.common:26:<br>
> >> recipe for target 'allgtest-tap' failed<br>
> >> make[1]: *** [allgtest-tap] Error 2<br>
> >> GNUmakefile:17: recipe for target 'allgtests-tap' failed<br>
> >> make: *** [allgtests-tap] Error 2<br>
> >> Running after_script<br>
> >><br>
> >><br>
> >>><br>
> >>>   Thanks,<br>
> >>><br>
> >>>      Matt<br>
> >>><br>
> >>> On Mon, Jul 13, 2020 at 3:51 PM Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:<br>
> >>><br>
> >>>> I am getting this error on two pipeline tests. They don't seem to have<br>
> >>>> anything to do with my branch. I have gotten these several times today.<br>
> >>>><br>
> >>>> /home/petsc/builds/KFnbdjNX/0/petsc/petsc/arch-ci-linux-cuda-single-cxx/lib/libpetscdm.so:<br>
> >>>> undefined reference to `DMPlexSNESComputeJacobianFEM'<br>
> >>>> /home/petsc/builds/KFnbdjNX/0/petsc/petsc/arch-ci-linux-cuda-single-cxx/lib/libpetscdm.so:<br>
> >>>> undefined reference to `TSGetDM'<br>
> >>>> collect2: error: ld returned 1 exit status<br>
> >>>> make[2]: *** [arch-ci-linux-cuda-single-cxx/tests/mat/tests/ex240]<br>
> >>>> Error 1<br>
> >>>> make[2]: *** Waiting for unfinished jobs....<br>
> >>>> gmakefile.test:185: recipe for target<br>
> >>>> 'arch-ci-linux-cuda-single-cxx/tests/mat/tests/ex240' failed<br>
> >>>> make[1]: *** [allgtest-tap] Error 2<br>
> >>>> /home/petsc/builds/KFnbdjNX/0/petsc/petsc/lib/petsc/conf/test.common:26:<br>
> >>>> recipe for target 'allgtest-tap' failed<br>
> >>>> GNUmakefile:17: recipe for target 'allgtests-tap' failed<br>
> >>>> make: *** [allgtests-tap] Error 2<br>
> >>>><br>
> >>><br>
> >>><br>
> >>> --<br>
> >>> What most experimenters take for granted before they begin their<br>
> >>> experiments is infinitely more interesting than any results to which their<br>
> >>> experiments lead.<br>
> >>> -- Norbert Wiener<br>
> >>><br>
> >>> <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
> >>> <<a href="http://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">http://www.cse.buffalo.edu/~knepley/</a>><br>
> >>><br>
> >><br>
> <br>
<br>
</blockquote></div>