[petsc-dev] PTScotch problem on Mac
Satish Balay
balay at mcs.anl.gov
Tue Nov 23 10:28:29 CST 2021
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?
And what errors do you get?
Perhaps CI is using older xcode (command line tools) - and you are using newer? Or something else?
Barry - do you have this issue on your machine?
balay at ypro ~ % which flex
/usr/bin/flex
balay at ypro ~ % /usr/bin/flex --version
flex 2.5.35 Apple(flex-32)
balay at 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 at ypro ~ % balay at 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
>
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: configure.log
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20211123/ee51c6f2/attachment-0001.ksh>
More information about the petsc-dev
mailing list