[petsc-dev] installing external packages as shared?

Barry Smith bsmith at mcs.anl.gov
Mon Sep 8 17:16:56 CDT 2014


On Sep 8, 2014, at 5:08 PM, Jed Brown <jed at jedbrown.org> 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.

  3) A simple and dependable way to install many dependencies of PETSc :-) and other HPC numerical software libraries

   In my mind the —prefix should (if used) generally be a path unique to a particular build of PETSc (that can be removed with a single rm) and NOT standard locations like /usr/local where they get mixed up with packages installed in other ways. We could even add a warning :-), that no one will read.

  Barry

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




More information about the petsc-dev mailing list