← Back to team overview

fenics team mailing list archive

Re: Problem with PCHYPRESetType

 

On Fri, Dec 05, 2008 at 11:26:22AM +0100, Jed Brown wrote:
> On Fri 2008-12-05 10:22, Anders Logg wrote:
> > On Thu, Dec 04, 2008 at 11:48:51PM +0100, Jed Brown wrote:
> > > On Thu 2008-12-04 20:40, Gildo de Almeida Leonel wrote:
> > > > Hi,
> > > > 
> > > > I'm trying to run some demo from fenics but when I type python demo.py I
> > > > received this error:
> > > > 
> > > > ImportError: /usr/lib/libdolfin.so.0: undefined symbol: PCHYPRESetType
> > > 
> > > I'll take a wild guess: you didn't build PETSc --with-shared and
> > > Dolfin's SCons configuration *still* doesn't use the full link line
> > > provided by PETSc.
> > 
> > I thought we had come (on more than one occasion) to the conclusion
> > that we shouldn't do this and that the only option is to build PETSc
> > --with-shared.
> 
> I must have missed the message where it was resolved.  My
> FindPETSc.cmake actually tries linking using a minimal link line and
> falls back to the full one if that fails.  This works with both shared
> and static libs while respecting the maxim that with shared libs, you
> should only specify the interface libraries and not recursive
> dependencies.  There are legitimate reasons to support static libraries
> even on systems which can use shared libs.
> 
> If it's been determined that only shared libs are supported, it would
> seem appropriate to display that prominently in the install instructions
> and have a configure-time check to see if you can actually link against
> the provided libs so that you can give users a useful error message.
> 
> Jed

I found the thread where this was last discussed (I think):

  http://www.fenics.org/pipermail/dolfin-dev/2008-April/007429.html

In summary:

  Matt: I have said this more than 13 times. That link procedure is Wrong
        Wrong Wrong.

  [lots of more discussion]

  Me:   So then the conclusion must be: build PETSc using
        --with-shared=1 or else it won't work and there is no way for us to
        fix it.

  Matt: This argument is outdated. Now petsc-dev will work equally
        well with shared and static libraries since we install everything to
        the prefix.

I don't have a full grasp of the situation but I know Ilmar and
Johannes struggled to get DOLFIN to compile against the Debian/Ubuntu
packages of for example UMFPACK and BLAS which was problematic when we
included PETSC_TS_LIB since then we would get the libraries built by
PETSc.

-- 
Anders

Attachment: signature.asc
Description: Digital signature


References