<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi All,</div><div dir="ltr"><br></div><div dir="ltr">We (moose team) hit an error message when compiling PETSc, recently. The error is related to "PETSC_HAVE_CLOSURE." Everything runs well if I am going to turn this flag off by making the following changes:<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">git diff </div><div dir="ltr">diff --git a/config/BuildSystem/config/utilities/closure.py b/config/BuildSystem/config/utilities/closure.py</div><div dir="ltr">index 6341ddf271..930e5b3b1b 100644</div><div dir="ltr">--- a/config/BuildSystem/config/utilities/closure.py</div><div dir="ltr">+++ b/config/BuildSystem/config/utilities/closure.py</div><div dir="ltr">@@ -19,8 +19,8 @@ class Configure(config.base.Configure):</div><div dir="ltr">  includes = '#include <stdio.h>\n'</div><div dir="ltr">  body = 'int (^closure)(int);'</div><div dir="ltr">  self.pushLanguage('C')</div><div dir="ltr">- if self.checkLink(includes, body):</div><div dir="ltr">- self.addDefine('HAVE_CLOSURE','1')</div><div dir="ltr">+# if self.checkLink(includes, body):</div><div dir="ltr">+# self.addDefine('HAVE_CLOSURE','1')</div><div dir="ltr"> def configure(self):</div><div dir="ltr">  self.executeTest(self.configureClosure)</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">I was wondering if there exists a configuration option to disable "Closure" C syntax?  I did not find one by running "configuration --help"</div><div dir="ltr"><br></div><div>Please let me know if you need more information.</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Thanks,</div><div dir="ltr"><br></div><div dir="ltr">Fande,</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">In file included from /Users/milljm/projects/moose/scripts/../libmesh/src/solvers/petscdmlibmesh.C:25:</div><div dir="ltr">/Users/milljm/projects/moose/petsc/include/petsc/private/petscimpl.h:15:29: warning: 'PetscVFPrintfSetClosure' initialized and declared 'extern'</div><div dir="ltr">  15 | PETSC_EXTERN PetscErrorCode PetscVFPrintfSetClosure(int (^)(const char*));</div><div dir="ltr">   |              ^~~~~~~~~~~~~~~~~~~~~~~</div><div dir="ltr">/Users/milljm/projects/moose/petsc/include/petsc/private/petscimpl.h:15:53: error: expected primary-expression before 'int'</div><div dir="ltr">  15 | PETSC_EXTERN PetscErrorCode PetscVFPrintfSetClosure(int (^)(const char*));</div><div dir="ltr">   |                          ^~~</div><div dir="ltr"> CXX   src/systems/libmesh_opt_la-equation_systems_io.lo</div><div dir="ltr">In file included from /Users/milljm/projects/moose/petsc/include/petsc/private/dmimpl.h:7,</div><div dir="ltr">         from /Users/milljm/projects/moose/scripts/../libmesh/src/solvers/petscdmlibmeshimpl.C:26:</div><div dir="ltr">/Users/milljm/projects/moose/petsc/include/petsc/private/petscimpl.h:15:29: warning: 'PetscVFPrintfSetClosure' initialized and declared 'extern'</div><div dir="ltr">  15 | PETSC_EXTERN PetscErrorCode PetscVFPrintfSetClosure(int (^)(const char*));</div><div dir="ltr">   |              ^~~~~~~~~~~~~~~~~~~~~~~</div><div dir="ltr">/Users/milljm/projects/moose/petsc/include/petsc/private/petscimpl.h:15:53: error: expected primary-expression before 'int'</div><div dir="ltr">  15 | PETSC_EXTERN PetscErrorCode PetscVFPrintfSetClosure(int (^)(const char*));</div><div dir="ltr"><br></div><div dir="ltr"> </div><div dir="ltr"><br></div><div dir="ltr"><br></div></div></div></div></div></div></div></div>