Dear All,

for some unknown reasons, I am having terrible problems in building  
deal.II and trilinos on a cluster to which I have access. I can  
compile Trilinos with the mpi compilers statically, but not shared. On  
the contrary, I can compile deal.II in shared form, but not statically.

I am getting the following error when I compile deal.II:

---------------- configuring additional libs ----------------
checking for PETSc library directory... explicitly disabled
checking for Trilinos library directory... /data/heltai/libs/trilinos- 
static/
checking whether Trilinos uses shared libraries... no
checking whether Trilinos uses static libraries... yes
checking for daxpy_ in -lblas... no
checking for HSL subroutines... none found
Adding FORTRAN libraries  -lg2c -lgfortran
checking for crc32 in -lz... no
checking netcdfcpp.h usability... yes
checking netcdfcpp.h presence... yes
checking for netcdfcpp.h... yes
checking for nc_open in -lnetcdf... no
checking for Metis library directory... /data/heltai/libs/metis-4.0
checking for Metis version... METIS 4.0.1       Mon Nov 30 10:27:29 CST 1998
checking UmfPack library... using included version
checking for dgbsv_ in -llapack... no
configure: error: LAPACK library lapack not found


If I take a look at the config.log, I see the following error:

configure:12379: checking for daxpy_ in -lblas
configure:12414: /usr/local/ibgd/mpi/gcc4/mvapich-0.9.5-mlx1.0.3/bin/ 
mpicxx -o conftest -Wsynth -W
error -I/home/heltai/libs/deal.II.mpigcc4/contrib/boost/include   -Wl,- 
rpath,/home/heltai/libs/dea
l.II.mpigcc4/lib  -lpthread -rdynamic -static conftest.cpp -lblas  - 
lg2c -lgfortran  >&5
g++: -rpath: linker input file unused because linking not done
g++: /home/heltai/libs/deal.II.mpigcc4/lib: linker input file unused  
because linking not done
/opt/amd/binutils/bin/ld: cannot find -lmtl_common
collect2: ld returned 1 exit status
configure:12420: $? = 1

which does not seem to be connected to lapack or blas but to the  
mtl_common library (infiniband libs). I ran again the configure line  
using the following command line,

./configure CXX=mpicxx CC=mpicc F77=mpif77 FC=mpif90 --with-umfpack -- 
with-blas --with-petsc=no --with-lapack TRILINOS_DIR=/data/heltai/libs/ 
trilinos-static/ --disable-shared LDFLAGS="-L/usr/local/ibgd/driver/ 
infinihost/lib64/"

but I still get the same error:

configure:12379: checking for daxpy_ in -lblas
configure:12414: /usr/local/ibgd/mpi/gcc4/mvapich-0.9.5-mlx1.0.3/bin/ 
mpicxx -o conftest -Wsynth -W
error -I/home/heltai/libs/deal.II.mpigcc4/contrib/boost/include   -Wl,- 
rpath,/home/heltai/libs/dea
l.II.mpigcc4/lib -L/usr/local/ibgd/driver/infinihost/lib64/ -lpthread - 
rdynamic -static conftest.c
pp -lblas  -lg2c -lgfortran  >&5
g++: -rpath: linker input file unused because linking not done
g++: /home/heltai/libs/deal.II.mpigcc4/lib: linker input file unused  
because linking not done
/opt/amd/binutils/bin/ld: cannot find -lmtl_common
collect2: ld returned 1 exit status
configure:12420: $? = 1

even though the mtl_common.so file is in the /usr/local/ibgd/driver/ 
infinihost/lib64/

Is this only because the linker cannot find libmtl_common.a? Is there  
a way to make a static library from a shared one (i.e. to generate  
libmtl_common.a from the .so file)?

If I look at the logs for trilinos, this problem is not there, and  
they DO link against the mtl_common library. I am confused. Trilinos  
is built statically (as is deal.II in the attempt above), and it does  
not complain. Is it really necessary to have BOTH libraries statically  
compiled, or can we mix static and shared libs? If it is possible, is  
there a "quick and dirty" solution?

Thanks for any help, and sorry if this is slightly off topic...

Luca.

--
Luca Heltai <[EMAIL PROTECTED]>
http://www-dimat.unipv.it/heltai
University of Pavia, Dep. of Mathematics
Phone : +39 0382 98 5680, Office: A10
--
There are no answers, only cross references.




_______________________________________________

Reply via email to