[petsc-dev] CMake: make, install, find_package ?

Franck Houssen franck.houssen at inria.fr
Mon Nov 6 11:49:45 CST 2017

----- 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.


> 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 : 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.

> Satish

More information about the petsc-dev mailing list