Hello to all!

With Ubuntu Hardy, updates of openmpi and petsc (2.3.3) are available. 
petsc will also be built against openmpi, not mpich. We are currently 
looking at building dolfin using these packages as dependencies. There 
is, however, a problem with ATLAS.

When installing petsc-dev, there is a dependency on either atlas3-base, 
OR both lapack3 and refblas3. This means that if no BLAS is installed, 
atlas3-base is set to be installed as the dependency. atlas3-base is the 
faster, optimized one, and the one we really would like to use. The 
problem is that libblas.so and liblapack.so are put in the directory 
/usr/lib/atlas when using atlas3-base. If the package refblas3 is used, 
the library files are put in /usr/lib. When doing a 'make demo' in 
dolfin, when compiled with the petsc library provided by the debian 
package, this works fine when only refblas3 and lapack3 are installed, 
as /usr/lib is a default directory when the compiler (mpicxx) is looking 
for libraries. When atlas3-base also is available, libpetsc.so tries to 
use the libblas.so located in /usr/lib/atlas, and so, when running 'make 
demo', we get an error about undefined references to atlas symbols, 
unless we explicitly add '-L/usr/lib/atlas' to the linking stage of 
dolfin.pc in lib/pkgconfig.

When compiling dolfin without petsc, we do not get this error, as 
/usr/lib/libblas.so is used. However, we really would like to use the 
atlas one when available, as it runs at least twice as fast (although 
building them yourself will be ten times faster, it seems).

My suggestion is to make sure that the line '-L/usr/lib/atlas' is 
included in the dolfin.pc file.

ilmar
_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to