[petsc-dev] use --with-single-library=1 as default?

Satish Balay balay at mcs.anl.gov
Thu Feb 4 12:00:45 CST 2010


On Thu, 4 Feb 2010, Jed Brown wrote:

> On Wed, 3 Feb 2010 18:08:34 -0600 (CST), Satish Balay <balay at mcs.anl.gov> wrote:
> > Should we default to using --with-single-library=1? [I'd prefer this -
> > as it will minimize dlopen issues from external packages.]
> > 
> > Also - I'd like to have distinct library names between
> > --with-single-library=0 and 1 - so that there is no ambiguity.
> > 
> > i.e libpetsc.a for --with-single-library=1
> > libpetscsys.a [instead of current libpetsc.a] for --with-single-library=0
> 
> I also like distinguishing between libpetsc (the whole thing) and
> libpetscsys, it makes it easier to write robust auto-configure stuff to
> find PETSc.  Note that with shared libs, you can build them separately,
> link the front-end
> 
>   ld -shared -o libpetsc.so libpetsc*.so
> 
> and then the same install is available as one convenient chunk (just
> -lpetsc) or in whatever granularity is desired, and it still enforces
> the module boundaries.
> 
> I'm not sure I see the benefit of static linking with-single-library
> because they still have to explicitly link recursive dependencies.

In a single build - I think its good to keep symmetry between .so and
.a files - to minimise user confusion. And makefiles having a single
list of libs [usually .a files are ignored when equivalent .so is
present anyway]

satish



More information about the petsc-dev mailing list