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.

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
> [email protected]
> http://www.fenics.org/mailman/listinfo/dolfin-dev
_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to