[petsc-dev] Single configure script for SuiteSparse package

Satish Balay balay at mcs.anl.gov
Wed Feb 12 12:33:40 CST 2014

On Wed, 12 Feb 2014, Jed Brown wrote:

> Satish Balay <balay at mcs.anl.gov> writes:
> > On Wed, 12 Feb 2014, Abhyankar, Shrirang G. wrote:
> >
> >> Barry,
> >>    Satish and I have attempted to create a single configure script for SuiteSparse installation. It is currently in the branch shri/update-SuiteSparse https://bitbucket.org/petsc/petsc/branch/shri%2Fupdate-SuiteSparse. This change downloads the entire SuiteSparse package and installs all the sub-packages that PETSc currently supports (UMFPACK, CHOLMOD, and KLU). We can of course have selective installation of sub-packages if need be, currently it does not. I know you prefer a 'separate' configure script for each sub-package, but we think a single configure is a better approach. This change also updates PETSc to use the latest SuiteSparse. I've tested it with both debugging and optimized modes (with complex and 64-bit ints) and there was no change needed for UMFPACK or CHOLMOD solver interfaces. Let us know what you think? petsc-devs?
> >> 
> >
> > Note: Apart from--download-suitsparse=1 - --with-suitsparse=1 or
> > --with-suitsparse works on ubuntu/linux with preisntalled suitsparse
> > [and presumably will work with other suitsparse installs]
> >
> > And it avoids all the issues with spliting and maintaining our own
> > taballs for UMFPACK, CHOLMOD, and KLU [and managing duplicate copies
> > of dependencies like AMD, COLAMD libsuitsparse etc.] - and will avoid
> > corner-cases like --download-umfpack --with-cholmod-dir= etc..
> Those packages were never packaged for sane independent-install anyway.
> However, some distributions have done the work of allowing separate
> install of each component.  Could we have the one suitesparse configure
> script detect which components are available?

Perhaps its possible. But I suspect it will get tricky wrt detecting
the 'liblist' for such partial installs.

Would it not be easier for user to install all 3 packages [if they
want to use any one pre-installed packages?] or just use

I think majority of usecases will be covered by --with-suitsparse=1 or
--download-suitsparse options.


> > One caveat: we build only part of suitsparse [required by petsc] - not
> > the whole thing.
> >
> > BTW: should we change PETSC_HAVE_UMFPACK PETSC_HAVE_CHOLMOD etc to
> > PETSC_HAVE_SUITSPARSE?  [I don't think its necessary - but checking..]
> >
> > And then configure should print an error message if --with-umpfack
> > option is specified [via check_for_option_changed() in
> > config/configure.py]

More information about the petsc-dev mailing list