[petsc-dev] installing external packages as shared?
Eric Chamberland
Eric.Chamberland at giref.ulaval.ca
Thu Jan 29 08:02:29 CST 2015
On 09/08/2014 06:08 PM, Jed Brown wrote:
> Barry Smith <bsmith at mcs.anl.gov> writes:
>
>> When should we install external packages as shared, currently if
>> —with-PACKAGENAME-shared is set or if —with-shared-libraries is set
>> we do it for some packages (like MPICH). Other packages, such as
>> hypre don’t build properly as shared. So my question is if
>> —with-shared-libraries is set should be build the packages that can
>> be built with shared libraries or should we build static unless
>> specifically requested for that package?
>
> What does --download intend to be?
>
> 1. A general-purpose package manager bundled with PETSc. Installs
> packages in a way that makes sense on the user's computer and is
> fully-functional independent of PETSc.
>
> 2. A quick and dirty way of installing dependencies to be used by PETSc.
> Not intended to be used independent from PETSc (though it might work).
> Package manager functionality like upgrades and uninstall are not
> provided.
>
>
> If 1, then packages should be installed in the way that makes most sense
> on the target computer, so shared libraries in most cases where it is
> possible. This is a busy space with lots of competitors that rarely
> play well together. If 2, then it's okay to always build static
> libraries (with -fPIC) and link them into libpetsc.so (when libpetsc.so
> is dynamic).
>
I'm kind of late, but here is a thought:
We link about 350 different executables in 2 flavors (debug and opt), so
having shared libraries is a major benefit for the linking time of these
700 little beasts...
So I would plead for having shared libraries for external packages, at
least when it is possible without too much pain for PETSc developers...
thanks,
Eric
More information about the petsc-dev
mailing list