[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