[petsc-dev] PTScotch problem on Mac
Barry Smith
bsmith at petsc.dev
Tue Nov 23 15:20:47 CST 2021
>> Hmm, I cannot figure out how to do that. Developer tools on Mac are embarrassing.
I think you are probably looking in the wrong place. The GUI based Xcode Instruments tools likely have this type of capability but it may not be accessible from the command line.
> On Nov 23, 2021, at 3:02 PM, Matthew Knepley <knepley at gmail.com> wrote:
>
> On Tue, Nov 23, 2021 at 2:05 PM Satish Balay <balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>> wrote:
> On Tue, 23 Nov 2021, Matthew Knepley wrote:
>
> > On Tue, Nov 23, 2021 at 12:56 PM Matthew Knepley <knepley at gmail.com <mailto:knepley at gmail.com>> wrote:
> >
> > > On Tue, Nov 23, 2021 at 12:29 PM Satish Balay <balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>> 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/
>
> Hmm, I cannot figure out how to do that. Developer tools on Mac are embarrassing.
>
> 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]
>
> I do not use MacPorts. I edited my .profile years ago and I missed that when abandoning it.
>
> Or a brute force bisection by moving binaries out of (and back into) this location.
>
> That sounds like something for "grad student time"
>
> Thanks,
>
> Matt
>
> 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 <balay at mcs.anl.gov <mailto:balay at mcs.anl.gov>>
> > >> wrote:
> > >> >
> > >> > > On Tue, 23 Nov 2021, Matthew Knepley wrote:
> > >> > >
> > >> > > > On Tue, Nov 23, 2021 at 11:28 AM Satish Balay <balay at mcs.anl.gov <mailto:balay at 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.
> > >> > >
> > >> > > 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 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
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > >
> > >> > >
> > >> >
> > >> >
> > >>
> > >>
> > >
> > > --
> > > 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/ <https://www.cse.buffalo.edu/~knepley/>
> > > <http://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>>
> > >
> >
> >
> >
>
>
>
> --
> 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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20211123/c5ef8423/attachment-0001.html>
More information about the petsc-dev
mailing list