Ahh, it is the perl :-)
> On Nov 23, 2021, at 2:05 PM, Satish Balay via petsc-dev > <[email protected]> wrote: > > On Tue, 23 Nov 2021, Matthew Knepley wrote: > >> On Tue, Nov 23, 2021 at 12:56 PM Matthew Knepley <[email protected]> wrote: >> >>> On Tue, Nov 23, 2021 at 12:29 PM Satish Balay <[email protected]> wrote: >>> >>>> The primary difference I can spot [as you say] is the older xcode you >>>> have. Eventhough it says the same version of flex - perhaps its buggy? >>>> >>>> Apple clang version 11.0.3 (clang-1103.0.32.59) >>>> vs >>>> Apple clang version 12.0.0 (clang-1200.0.32.2) >>>> >>>> >>>>> >>>> PATH=/PETSc3/cig/bin:/PETSc3/petsc/petsc-pylith/arch-pylith-debug/bin:/PETSc3/petsc/apple/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/texbin:/opt/X11/bin:/usr/local/git/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/opt/local/bin:/opt/local/sbin:/usr/X11/bin:/usr/local/texlive/2019/bin/x86_64-darwin:/usr/local/cuda/bin:/usr/local/gmt/bin:/usr/local/bin:/usr/X11/bin:/usr/local/texlive/2019/bin/x86_64-darwin:/usr/local/cuda/bin:/usr/local/gmt/bin >>>> >>>> BTW: Can you try a build with the following and see if it makes a >>>> difference? >>>> >>>> PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin >>>> ./configure PETSC_ARCH=arch-test --with-mpi-dir=/PETSc3/petsc/apple >>>> --download-c2html --download-ptscotch >>>> >>> >>> Damn damn damn damn. Now I have to bisect the PATH to see how in the world >>> that can make a difference. >>> >> >> Okay, the configure succeeds by taking out /opt/local/bin:/opt/local/sbin, >> but I cannot figure out why this would be the case? > > > If you can do 'strace --follow-forks' or equivalent on Mac - you might > be able to see what gets used from /opt/local/bin/ > > Also you might be better off using brew instead of what you currently > have.. [likely you don't need most of the binaries below. 'brew > leaves' gives a nice way to keep track of whats really needed] > > Or a brute force bisection by moving binaries out of (and back into) this > location. > > Satish > >> >> knepley/feature-plex-multiple-hybrid *$:/PETSc3/petsc/petsc-pylith$ ls >> /opt/local/sbin/ >> knepley/feature-plex-multiple-hybrid *$:/PETSc3/petsc/petsc-pylith$ ls >> /opt/local/bin/ >> a2p envsubst libnetcfg-5.12 >> perlivp-5.8 prove >> a2p-5.12 find2perl libnetcfg-5.8 >> perlthanks prove-5.12 >> a2p-5.8 find2perl-5.12 msgattrib >> perlthanks-5.12 prove-5.8 >> autoconf263 find2perl-5.8 msgcat >> perlthanks-5.8 psed >> >> autoheader263 gettext msgcmp >> piconv psed-5.12 >> autom4te263 gettext.sh msgcomm >> piconv-5.12 psed-5.8 >> autopoint gettextize msgconv >> piconv-5.8 pstruct >> autoreconf263 ghc msgen >> pl2pm pstruct-5.12 >> autoscan263 ghc-6.10.4 msgexec >> pl2pm-5.12 pstruct-5.8 >> autoupdate263 ghc-pkg msgfilter >> pl2pm-5.8 ptar-5.12 >> c2ph ghc-pkg-6.10.4 msgfmt >> pod2html ptardiff-5.12 >> c2ph-5.12 ghci msggrep >> pod2html-5.12 recode-sr-latin >> c2ph-5.8 ghci-6.10.4 msginit >> pod2html-5.8 reset >> c_rehash gm4 msgmerge >> pod2latex runghc >> captoinfo gperf msgunfmt >> pod2latex-5.12 runhaskell >> clear h2ph msguniq >> pod2latex-5.8 s2p >> config_data-5.12 h2ph-5.12 ncurses5-config >> pod2man s2p-5.12 >> corelist-5.12 h2ph-5.8 ncursesw5-config >> pod2man-5.12 s2p-5.8 >> corelist-5.8 h2xs ngettext >> pod2man-5.8 shasum-5.12 >> cpan h2xs-5.12 openssl >> pod2text splain >> cpan-5.12 h2xs-5.8 perl >> pod2text-5.12 splain-5.12 >> cpan-5.8 haddock perl5 >> pod2text-5.8 splain-5.8 >> cpan2dist hasktags perl5.12 >> pod2usage tabs >> cpan2dist-5.12 help2man perl5.12.3 >> pod2usage-5.12 tic >> cpanp hp2ps perl5.8 >> pod2usage-5.8 toe >> cpanp-5.12 hpc perl5.8.9 >> podchecker tput >> cpanp-run-perl hsc2hs perlbug >> podchecker-5.12 tset >> cpanp-run-perl-5.12 iconv perlbug-5.12 >> podchecker-5.8 wget >> daemondo idn perlbug-5.8 >> podselect xgettext >> dprofpp ifnames263 perlcc-5.8 >> podselect-5.12 xmlwf >> dprofpp-5.12 infocmp perldoc >> podselect-5.8 xsubpp >> dprofpp-5.8 infotocap perldoc-5.12 >> port xsubpp-5.12 >> enc2xs instmodsh-5.12 perldoc-5.8 >> portf xsubpp-5.8 >> enc2xs-5.12 instmodsh-5.8 perlivp >> portindex >> enc2xs-5.8 libnetcfg perlivp-5.12 >> portmirror >> >> Thanks, >> >> Matt >> >> >>> Thanks, >>> >>> Matt >>> >>> >>>> Satish >>>> >>>> >>>> On Tue, 23 Nov 2021, Matthew Knepley wrote: >>>> >>>>> Here it is. >>>>> >>>>> Matt >>>>> >>>>> On Tue, Nov 23, 2021 at 11:44 AM Satish Balay <[email protected]> >>>> wrote: >>>>> >>>>>> On Tue, 23 Nov 2021, Matthew Knepley wrote: >>>>>> >>>>>>> On Tue, Nov 23, 2021 at 11:28 AM Satish Balay <[email protected]> >>>> 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. >>>>>> >>>>>> BTW: Can you send the log? >>>>>> >>>>>> Satish >>>>>> >>>>>>> >>>>>>> >>>>>>>> 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 >>>>>>> >>>>>>> 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 >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> -- >>> What most experimenters take for granted before they begin their >>> experiments is infinitely more interesting than any results to which their >>> experiments lead. >>> -- Norbert Wiener >>> >>> https://www.cse.buffalo.edu/~knepley/ >>> <http://www.cse.buffalo.edu/~knepley/> >>> >> >> >> >
