← Back to team overview

dolfin team mailing list archive

Re: SCons and PETSc

 



Ilmar Wilbers wrote:
This was done by Anders, see email from March 2., to fix the problems we had been having with the debian packages. The problem is that umfpack adds -lblas and -llapack. Using a normal setup with Ubuntu, when choosing to install petsc-dev, the package atlas3-base-dev is installed. This package requires refblas3-dev. The first one installs /usr/lib/libblas-3.so, /usr/lib/liblapack-3.so, /usr/lib/atlas/libblas.so and /usr/lib/atlas/liblapack.so

The latter one installs /usr/lib/libblas.so.

When linking in -lblas and -llapack, /usr/lib/libblas.so and /usr/lib/atlas/liblapack.so are used. liblapack.so will give an error because it tries to use /usr/lib/libblas.so instead of /usr/lib/atlas/libblas.so, and this one has unknown symbols.

I do not know how to fix this, I don't know how important it is considered that Debian packages work, I find it nice to be able to apt-get the dependencies for the software I am using. It can be fixed quite easy, either by removing atlas3-base-dev and relying on the libraries in refblas3-dev (providing both, but bad performance), or installing lapack3-dev as well.


PETSc is not needed for DOLFIN. I would be inclined to not have DOLFIN depend on petsc-dev. The Debian petsc package has historically not been very up-to-date, plus a user will typically want a 'customised' version of PETSc with particular external packages. Moreover, if the Debian version of PETSc isn't built to use UMFPACK, then most of the DOLFIN demos will be dead slow because the PETSc LU solver is not very good.

Garth


I think the solution is to only use -llapack in umfpack, as is always will be linked against -lblas

After discussing it with Johannes, I think the best would be to remove PETSC_TS_LIB from petsc.py and also remove -lblas from umfpack.py

ilmar

Garth N. Wells wrote:
There is a problem in the way things are being linked to PETSc. We should be linking to PETSc libraries *only* and not libraries that PETSc depends on. This can cause problems when different versions of a librray are used. For example, when PETSc downloads and links to UMFPACK, but DOLFIN uses UMFPACK from suitepsarse.

Garth
_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev
_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev


Follow ups

References