[DOLFIN-dev] [knepley at mcs.anl.gov: Re: [PETSC #13286] Make pcimpl.h a public API]

Faheem Mitha faheem at email.unc.edu
Tue Jul 5 12:20:34 CDT 2005

On Tue, 5 Jul 2005, Johan Jansson wrote:

> Hi,
> Below is some discussion about PETSc standard installation and
> packages. It seems that a petsc-dev package should include the PETSc
> source, and thus that DOLFIN can assume the PETSc source is available
> when building. This would solve both the pcimpl.h issue as well as the
> issue of extracting PETSc compiler flags.


I mean no disrespect, but I think that assuming that the source is 
available would make life much more difficult for packagers, is very 
non-standard, and generally undesirable. If you don't believe me, ask 
people on an appropriate technical mailing list. 
debian-devel at lists.debian.org comes to mind.

In general a *-dev should contain headers files and that is all. I could 
probably find some technical standards material to quote you on this if 
you wanted.

If I understand correctly, you want to access some internals of PETSc, so 
having the 'public' headers available is not sufficient since you want to 
compile against a header that defines a 'private' implementation, is that 

I don't know what the best way of resolving this is, but I do think that 
compiling DOLFIN should work 'out-of-the-box' on a 'make install' of 

I can see three possibilities.

a) The PETSc 'make install' adds these internal details as necessary
to a make install.  This would be a reasonable solution. One could
argue that if someone needs to access these private details, then
perhaps they should be regarded as public.

b) The packager adds these files to the PETSc package to make the
compilation of DOLFIN work. I'm certainly willing to do that if you
told me what and where to put the extra files.

However, this means DOLFIN would not compile with the result of a
PETSc 'make install'. Also, this solution does not scale well, since
some other package may want to access some other internal
stuff. However, this would still be better than expecting the full
source to be present.

c) DOLFIN includes those files itself. This is another possibility
which is not ideal, since DOLFIN should not really be shipping bits of
another package.

However, still preferable to assuming the source is available.

Please bear in mind that the current size of PETSc, as I have packaged
it, is around 130 Mb. This is already on the large size for a library
package, and having to make the source available would make this even
larger. I'd like to figure out ways to make this smaller.

Please, I beg both the DOLFIN and PETSc development teams to reconsider. 
Again, I mean no disrespect. I appreciate all your hard work and 
expertise, and just want what is technically best.

Thank you for your attention.                                 Faheem.

More information about the petsc-dev mailing list