[Petsc-trilinos-discussion] Scope and requirements

Jed Brown jedbrown at mcs.anl.gov
Fri Nov 22 14:09:11 CST 2013


Barry Smith <bsmith at mcs.anl.gov> writes:
>     Building PETSc to use ML, obviously, requires ML to be built
>     before PETSc since PETSc configure needs to link against the ML to
>     verify it is correct and PETSc make needs to locate the ML
>     includes to compile the ML wrapper.

Although I do not think it is necessary in this case, PETSc _could_ be
compiled without ML, but have the ML plugin (currently residing in
src/ksp/pc/impls/ml) compiled later, dropping the libpetsc-ml.so into
$prefix/lib/petsc/plugins/.

Unfortunately, some systems don't support shared libraries, so this is
not a viable distribution plan in general.  It is also possible to have
libpetsc-ml.a, which the user must link with -lpetsc-ml -lpetsc.  If we
allow plugin registration before PetscInitialize(), the registration
function could be given __attribute((constructor)) or use a C++
constructor.

So such variants are possible with at most a couple lines of code, but I
don't think it's necessary for the current purpose.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-trilinos-discussion/attachments/20131122/e320ddc0/attachment.pgp>


More information about the Petsc-trilinos-discussion mailing list