[petsc-dev] CMake: make, install, find_package ?
Franck Houssen
franck.houssen at inria.fr
Tue Nov 7 03:17:02 CST 2017
Seems you really had a very bad experience with CMake. Not gonna fight. :D (joking)
I'll stick to pkg-config: that's fine to me.
Franck
----- Mail original -----
> De: "Matthew Knepley" <knepley at gmail.com>
> À: "Franck Houssen" <franck.houssen at inria.fr>
> Cc: "petsc-dev" <petsc-dev at mcs.anl.gov>
> Envoyé: Lundi 6 Novembre 2017 19:28:57
> Objet: Re: [petsc-dev] CMake: make, install, find_package ?
> On Mon, Nov 6, 2017 at 12:49 PM, Franck Houssen < franck.houssen at inria.fr >
> wrote:
> > ----- Mail original -----
>
> > > De: "Satish Balay" < balay at mcs.anl.gov >
>
> > > À: "Franck Houssen" < franck.houssen at inria.fr >
>
> > > Cc: "petsc-dev" < petsc-dev at mcs.anl.gov >
>
> > > Envoyé: Lundi 6 Novembre 2017 16:08:55
>
> > > Objet: Re: [petsc-dev] CMake: make, install, find_package ?
>
> > >
>
> > > On Mon, 6 Nov 2017, Franck Houssen wrote:
>
> > >
>
> > > >
>
> > > > Yes ! Your friend let you the keys of his car. The car has no wheel.
> > > > Why
>
> > > > did he gave you his keys ?!... :D (joking)
>
> > >
>
> > > Actually - its more akin to - friend gives you a car - and leaves the
>
> > > keys in the console, with instructions there.
>
> > :D
>
> > > However you look arround in the trunk and find something that looks like
> > > a
> > > key - and assume hay
>
> > > - it must start this car - and retool it and start the car with it :)
>
> > >
>
> > > Anyhow - Barry wants to get rid of the cmake related code from petsc..
>
> > >
>
> > Yeah, that's your decision ! But know that, if you impose a full global
> > ordering of all packages of all possible dependencies (to be done once =
> > associating a unique number to each package), then:
>
> > 1. "your" configure (python) will probably also benefit of it (less "bugs"
> > when reconfiguring for instance, ...).
>
> > 2. cmake and find_package will work (with commits in the bundle I sent):
> > this
> > could be nice to lots of people too...
>
> > Dependencies order seems to have been the base line systematic problem you
> > had: neither cmake, nor autotools are meant to deal with the graph of
> > dependencies (no way they can do that), this must be guaranteed by the dev
> > (no choice).
>
> > Who was first ? Chicken or Egg ? How to know ? :D CMake/autotools can not
> > know if blas needs lapack or if it is the other way !
>
> > Dependencies order must be imposed :
>
You fix that, you fix everything (+ get cmake for free).
> > in configure, that's already what you do already (but only locally -
> > scalapack knows it needs mpi and lapack).
>
> > If you do that globally, you solve everything at once (in likely 15 to 30
> > mins !) and avoid cmake to deal with problems (order) he has no way to
> > solve.
>
> That is a terrible model. You have a closed world assumption, which is the
> opposite of what we want for configure. You would end up renumbering all the
> time.
No. 1 release = 1 order. This is what is done in ALL softwares !
> Instead we use topological sort to impose a total order on the fly. This is
> why we have mathematics, to figure out the right thing to do without
> enumerating everything ahead of time.
> Matt
> > > Satish
>
> > >
>
> --
> 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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20171107/26abe1b0/attachment.html>
More information about the petsc-dev
mailing list