[petsc-dev] Single configure script for SuiteSparse package

Barry Smith bsmith at mcs.anl.gov
Wed Feb 12 13:14:32 CST 2014


   I am fine with a single —with-suitsparse   but replace all the HAVE_UMFPACK etc with a single HAVE_SUITSPARSE thingy

   Barry

On Feb 12, 2014, at 12:40 PM, Satish Balay <balay at mcs.anl.gov> wrote:

> On Wed, 12 Feb 2014, Satish Balay wrote:
> 
>> 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
>> --download-suitsparse?
>> 
>> I think majority of usecases will be covered by --with-suitsparse=1 or
>> --download-suitsparse options.
> 
> I see fedora, macports, homebrew all have a single suitsparse package.
> 
> BTW: There is an optional dependency on metis from
> suitesparse. Current code [for --download-suitsparse] doesn't use
> this..
> 
> Satish
> 
>> 
>> Satish
>> 
>>> 
>>>> 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