[petsc-users] Make PETSc not link with systemwide Atlas
Ondřej Čertík
ondrej.certik at gmail.com
Thu Jun 20 18:57:33 CDT 2013
Hi,
I want to strictly link to my own Lapack installed in $LAPACK:
$ ls $LAPACK/lib
cmake libblas.so liblapack.so pkgconfig
So I configure petsc with:
$PYTHON/bin/python ./config/configure.py --with-pic --with-clanguage=C
--with-cc=$MPI/bin/mpicc --with-mpi-compilers --with-shared-libraries
--prefix=$ARTIFACT --with-fortran=0 --with-blas-lapack-dir=$LAPACK/lib
The full log is attached with exact paths etc. The problem is that
petsc still picks up systemwide Atlas, as can be seen from the end of
configure.log:
BLAS/LAPACK: -Wl,-rpath,/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib
-L/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib -llapack
-Wl,-rpath,/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib
-L/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib -lcblas
-Wl,-rpath,/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib
-L/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib -lf77blas
-Wl,-rpath,/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib
-L/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib -latlas
as well as from ldd:
ondrej at cekees-MacBookPro-ubuntu:~/repos/python-hpcmp2$ ldd
opt/petsc/zlfe/lib/libpetsc.so
linux-gate.so.1 => (0xb7742000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb672d000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6712000)
liblapack.so =>
/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib/liblapack.so
(0xb5e6c000)
libf77blas.so.3 => /usr/lib/libf77blas.so.3 (0xb5e4d000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb5e0a000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb5e05000)
libmpich.so.10 =>
/home/ondrej/repos/python-hpcmp2/opt/mpich/c7uq/lib/libmpich.so.10
(0xb5b91000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb59dd000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb59bb000)
/lib/ld-linux.so.2 (0xb7743000)
libblas.so =>
/home/ondrej/repos/python-hpcmp2/opt/lapack/xq2x/lib/libblas.so
(0xb591b000)
libgfortran.so.3 => /usr/lib/i386-linux-gnu/libgfortran.so.3 (0xb5823000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb5806000)
libcblas.so.3 => /usr/lib/libcblas.so.3 (0xb57e5000)
libatlas.so.3 => /usr/lib/libatlas.so.3 (0xb5504000)
libmpl.so.1 =>
/home/ondrej/repos/python-hpcmp2/opt/mpich/c7uq/lib/libmpl.so.1
(0xb54fe000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb54f5000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb54f1000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb54e9000)
libquadmath.so.0 => /usr/lib/i386-linux-gnu/libquadmath.so.0 (0xb5471000)
as you can see, it actually does link to my blas/lapack, but also to
systemwide cblas and atlas...
I want the ldd to look like this (my other machine):
ondrej at kittiwake:~/repos/python-hpcmp2((bca3099...))$ ldd
local/lib/libpetsc.so linux-vdso.so.1 => (0x00007fff1dd1f000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fe85f46f000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007fe85f252000)
liblapack.so =>
/auto/netscratch/ondrej/opt/lapack/xq2x/lib/liblapack.so
(0x00007fe85e768000)
libblas.so =>
/auto/netscratch/ondrej/opt/lapack/xq2x/lib/libblas.so
(0x00007fe85e4a8000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe85e1ac000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe85dfa7000)
libmpich.so.10 =>
/auto/netscratch/ondrej/opt/mpich/c7uq/lib/libmpich.so.10
(0x00007fe85db3d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe85d77e000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fe85d55f000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe8609a9000)
libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3
(0x00007fe85d248000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe85d032000)
libmpl.so.1 =>
/auto/netscratch/ondrej/opt/mpich/c7uq/lib/libmpl.so.1
(0x00007fe85ce2b000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe85cc23000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fe85ca1f000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
(0x00007fe85c819000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0
(0x00007fe85c5e3000)
How can I do that? I read here:
http://www.mcs.anl.gov/petsc/documentation/installation.html#blas-lapack
that maybe I should try to use the "--with-blas-lapack-lib" option.
But I wanted to first check if I am doing something wrong, or what the
intended way to setup Lapack is.
Thanks for any tips,
Ondrej Certik
-------------- next part --------------
A non-text attachment was scrubbed...
Name: configure.log.gz
Type: application/x-gzip
Size: 204682 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130620/f85e1ed2/attachment-0001.bin>
More information about the petsc-users
mailing list