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