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

Lisandro Dalcín dalcinl at gmail.com
Thu Feb 4 06:49:42 CST 2010


On Thu, Feb 4, 2010 at 6:11 AM, Jed Brown <jed at 59a2.org> 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
>

I agree.

>
>  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 was going to propose exactly the same. However, I bet that some
(older?) platforms (not using ELF?) will not work like in Linux, and
then a -lpetsc front-end will not work as you expect because of
broken/missing support por shared lib dependencies.


>
> I'm not sure I see the benefit of static linking with-single-library
> because they still have to explicitly link recursive dependencies.
>

As I commented long ago, convenience for end-users (single include,
single library) is clear benefit, even in the case of static linking.


-- 
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



More information about the petsc-dev mailing list