<div dir="ltr">Here it is.<div><br></div><div>  Matt</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 23, 2021 at 11:44 AM 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">On Tue, 23 Nov 2021, Matthew Knepley wrote:<br>
<br>
> On Tue, Nov 23, 2021 at 11:28 AM Satish Balay <<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>> wrote:<br>
> <br>
> > Well we don't have this issue on our (macos) CI boxes where both c2html<br>
> > and scotch build and run daily [in CI]<br>
> ><br>
> > what 'flex' are you using? And why does it behave differently on your box?<br>
> ><br>
> <br>
> main *$:/PETSc3/petsc/petsc-dev$ which flex<br>
> /usr/bin/flex<br>
> main *$:/PETSc3/petsc/petsc-dev$ flex --version<br>
> flex 2.5.35 Apple(flex-32)<br>
> <br>
> <br>
> > And what errors do you get?<br>
> ><br>
> <br>
> Without the extra input define in PTScotch.py, I get the yylval symbol<br>
> undefined and the lexer symbol. When I give<br>
> that define as input, only the lexer symbol is undefined.<br>
<br>
BTW: Can you send the log?<br>
<br>
Satish<br>
<br>
> <br>
> <br>
> > Perhaps CI is using older xcode (command line tools) - and you are using<br>
> > newer? Or something else?<br>
> ><br>
> <br>
> Probably the other way around. I am on Catalina 10.15.6<br>
> <br>
>    Matt<br>
> <br>
> <br>
> > Barry - do you have this issue on your machine?<br>
> ><br>
> > balay@ypro ~ % which flex<br>
> > /usr/bin/flex<br>
> > balay@ypro ~ % /usr/bin/flex --version<br>
> > flex 2.5.35 Apple(flex-32)<br>
> > balay@ypro petsc % clang -v<br>
> > Apple clang version 12.0.0 (clang-1200.0.32.2)<br>
> > Target: x86_64-apple-darwin19.6.0<br>
> > Thread model: posix<br>
> > InstalledDir: /Library/Developer/CommandLineTools/usr/bin<br>
> > balay@ypro ~ % balay@ypro petsc % ./configure<br>
> > --with-mpi-dir=$HOME/mpich-3.4.2 --download-c2html --download-ptscotch<br>
> ><br>
> > <log attached><br>
> ><br>
> ><br>
> > Satish<br>
> ><br>
> > On Tue, 23 Nov 2021, Matthew Knepley wrote:<br>
> ><br>
> > > This is the same flex problem as I had for c2html, but I was more<br>
> > > determined tracking it down this time. The first problem is that we were<br>
> > > not renaming in the parser,<br>
> > ><br>
> > > main *$:/PETSc3/petsc/petsc-dev$ git diff<br>
> > > diff --git a/config/BuildSystem/config/packages/PTScotch.py<br>
> > > b/config/BuildSystem/config/packages/PTScotch.py<br>
> > > index d1c277b6e9f..e046804c17f 100644<br>
> > > --- a/config/BuildSystem/config/packages/PTScotch.py<br>
> > > +++ b/config/BuildSystem/config/packages/PTScotch.py<br>
> > > @@ -70,7 +70,7 @@ class Configure(config.package.Package):<br>
> > >      if self.libraries.add('-lrt','timer_create'): ldflags += ' -lrt'<br>
> > >      self.cflags = self.cflags + ' -DCOMMON_RANDOM_FIXED_SEED'<br>
> > >      # do not use -DSCOTCH_PTHREAD because requires MPI built for<br>
> > threads.<br>
> > > -    self.cflags = self.cflags + ' -DSCOTCH_RENAME<br>
> > > -Drestrict="'+self.compilers.cRestrict+'"'<br>
> > > +    self.cflags = self.cflags + ' -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER<br>
> > > -Drestrict="'+self.compilers.cRestrict+'"'<br>
> > >      # this is needed on the Mac, because common2.c includes common.h<br>
> > which<br>
> > > DOES NOT include mpi.h because<br>
> > >      # SCOTCH_PTSCOTCH is NOT defined above Mac does not know what<br>
> > > clock_gettime() is!<br>
> > >      if self.setCompilers.isDarwin(self.log):<br>
> > ><br>
> > > Second, they were not treating this case completely correctly:<br>
> > ><br>
> > ><br>
> > (93454e8...):/PETSc3/petsc/petsc-dev/arch-master-debug/externalpackages/git.ptscotch/src/libscotch$<br>
> > > git diff HEAD~1<br>
> > > diff --git a/src/libscotch/parser_yy.h b/src/libscotch/parser_yy.h<br>
> > > index 931315d..95b8160 100644<br>
> > > --- a/src/libscotch/parser_yy.h<br>
> > > +++ b/src/libscotch/parser_yy.h<br>
> > > @@ -62,6 +62,9 @@<br>
> > ><br>
> > >  #if ((defined SCOTCH_RENAME_PARSER) || (defined yylex)) /* If prefix<br>
> > > renaming    */<br>
> > >  #define scotchyyparse               stratParserParse2 /* Parser function<br>
> > > name    */<br>
> > > +#if !defined(yylex)<br>
> > > +#define yylex                       scotchyylex<br>
> > > +#endif<br>
> > >  #ifndef yylval<br>
> > >  #define yylval                      SCOTCH_NAME_MACRO3 (scotchyy,<br>
> > > SCOTCH_NAME_SUFFIXC, lval) /* It should be Yacc/Bison's job to redefine<br>
> > it!<br>
> > >  */<br>
> > >  #endif /* yylval              */<br>
> > ><br>
> > > How should we go about getting this fix in? Do you need to have our own<br>
> > > branch of PTScotch?<br>
> > ><br>
> > >   Thanks,<br>
> > ><br>
> > >      Matt<br>
> > ><br>
> > ><br>
> ><br>
> <br>
> <br>
> <br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div>