[petsc-dev] [Mike McQuaid] Re: [Homebrew/homebrew-core] PETSc: import from homebrew-science (#23598)
Matthew Knepley
knepley at gmail.com
Sun Feb 25 13:04:12 CST 2018
On Sun, Feb 25, 2018 at 1:55 PM, Smith, Barry F. <bsmith at mcs.anl.gov> wrote:
>
>
> > On Feb 25, 2018, at 12:16 PM, Jed Brown <jed at jedbrown.org> wrote:
> >
> > "Smith, Barry F." <bsmith at mcs.anl.gov> writes:
> >
> >> So fix the damn script instead of just bitching about it! Jeepers,
> that is what open source is all about.
> >
> > Yes, my last email was lazy. But your criticism of Lisandro fixing it
> > in his packaging script (which he can just do without explaining to
> > anyone, and doesn't have to wait for a release) is much the same.
> >
> >> Or if it is so terrible and unfixable then write a new script. The
> >> time wasted on mailing lists and arguing with package manager
> >> developers would be better spent fixing installer code.
> >
> > Agreed. I think this would all be cleaner with a canonical, supported
> > way of querying whether a feature is enabled. Right now we have
> > RDict.db (from within a Python script, but it takes a lot of work),
> > lib/petsc/conf/petscvariables from a makefile, and include/petscconf.h
> > from C source, all with different syntax.
>
> Each of these is suppose to serve its own purpose.
>
> The RDict.db is from within configure, the petscvariables is from from
> within makefiles, and the petscconf.h is from within source code.
>
> The model used to be ok until the test harness (and maybe the new
> gnumake test system) needed information that is not provided in
> petscvariables.
>
> I think the correct fix is not to get rid of the three data sets but to
> make sure that each data set has everything needed for that mode of usage.
> So petscvariables should contain everything needed by the makefiles so the
> makefiles don't need to try to get information from a different source. In
> fact isn't this the only problem? Isn't it relatively easily fixable by
> putting more info in the the petscvariables and then any horrible code that
> tries to get the information for makefile from petscconf.h can be removed?
>
> What do you propose?
>
>
>
> >
> > It would be a lot less code to write the install directly in the
> > makefile, and would get permissions correct by using the 'install'
> > command.
>
> Anyone is free to write the installer in make if they like. It use to
> be in make but we found it too hard to maintain so switched to using python
> a long time ago. (This was before gnumake).
>
> I find all the gnumake code you have contributed to PETSc completely
> incomprehensible and hence impossible to maintain which is why I prefer the
> easily understood python installer (that yes it definitely does need work).
>
I have written a description of Jed's gnumake here
https://www.cse.buffalo.edu/~knepley/classes/caam519/CSBook.pdf
in Section 1.3.5
Matt
> Barry
>
>
> >
> > I don't think examples should be installed by default.
>
>
--
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.caam.rice.edu/~mk51/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20180225/48635e71/attachment.html>
More information about the petsc-dev
mailing list