[petsc-users] Missing symbols in libpetscts.h

Satish Balay balay at mcs.anl.gov
Fri Jul 23 09:08:58 CDT 2010


On Fri, 23 Jul 2010, Jed Brown wrote:

> On Fri, 23 Jul 2010 08:47:39 -0400, Filippo Spiga <filippo.spiga at disco.unimib.it> wrote:
> >   Dear Satish,
> >      thanks for you reply.  Anyway not in all case the libpetscts.{a, 
> > so} is compiled. Is there a specific option of the configure that build 
> > this specific PETSc library? It is also possible that I miss something 
> > else or my environment is not "clean"....
> 
> PETSc 3.1 uses a single library by default, so you have to link libpetsc
> (e.g. -L$PETSC_DIR/$PETSC_ARCH/lib -lpetsc).  If you want separate
> libraries for each of the components, you can configure
> --with-single-library=0.  Note that in this case there is no
> libpetsc.so, but there is a libpetscsys.so.  If you use this option, you
> will have to link all the components up to the level you are actually
> using.
> 
> Jed
> 
> Note: there is no significant penalty from using the single library even
> if you don't use all the components (e.g. no SNES or TS) because those
> pages won't actually be faulted when your application is loaded (shared
> libs) and the symbols won't be included when you link statically.
> Separate libraries are useful for PETSc developers to prevent
> accidentally creating circular dependencies.

And if you use PETSc makefiles - you wont' have to manage this
difference - or force only one type of build [both will work with the
same user makefile]

Satish


More information about the petsc-users mailing list