[Lapackpp-devel] RE: Problems when try to build lapackpp on Debian Linux
Status: Beta
Brought to you by:
cstim
From: <hon...@ag...> - 2005-08-23 04:43:41
|
Hello, Christian, >This means that lapack++ cannot link correctly against the LAPACK and >BLAS libraries. This will also mean that any other project using >lapack++ cannot run, as you have discovered with mimolib. You need to >fix this first, otherwise the mimolib project will not work anyway. Agree with you on this. I also suspect that the link of LAPACK and = BLAS library is not correct. >In any case, the problem is that your LAPACK and BLAS package have not been correctly installed.=20 I have used the lapack package of Debian Linux first. Attached please = find the ./configure result. Before I do this, I have made sure that there is no different version of = LAPACK lib exists. The version of LAPACK I used is lapack_3.0.20000531a-28_i386.deb. I = install it with the usual=20 package manager. That is, I use 'apt-get install' and there is no = conflict, no error during the install. Unfortunately, the make check failed in this case. Please refer to the attached file conf.result1. = Hopefully this will help you to locate=20 the problem. The make test result is as follows: make[3]: Entering directory `/hdb2/MIMO/lapackpp-2.3.0/blaspp/testing' if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../include = -DLA_COMPLEX_SUPPORT -DHAVE_CONFIG_H -DLinux -g -O2 -Wall -MT = tblasd++.o -MD -MP -MF ".deps/tblasd++.Tpo" -c -o tblasd++.o = tblasd++.cc; \ then mv -f ".deps/tblasd++.Tpo" ".deps/tblasd++.Po"; else rm -f = ".deps/tblasd++.Tpo"; exit 1; fi /bin/sh ../../libtool --tag=3DCXX --mode=3Dlink g++ -g -O2 -Wall = -L../../blaspp/src -L../../src -llapackpp -llapack.2.0 -L/usr/lib = -lcblas.2.3 -lf77blas.2.3 -latlas.2 = -L/usr/lib/gcc-lib/i386-linux/2.95.4 -lg2c -lm -o tblasd++ tblasd++.o mkdir .libs g++ -g -O2 -Wall -o tblasd++ tblasd++.o = -L/hdb2/MIMO/lapackpp-2.3.0/blaspp/src -L/hdb2/MIMO/lapackpp-2.3.0/src = -llapackpp -llapack.2.0 -L/usr/lib -lcblas.2.3 -lf77blas.2.3 -latlas.2 = -L/usr/lib/gcc-lib/i386-linux/2.95.4 -lg2c -lm /usr/bin/ld: cannot find -llapackpp collect2: ld returned 1 exit status make[3]: *** [tblasd++] Error 1 Then I suspect that the lapack library I am using is not good. So I = remove the lapack package from my Debian Linux box and try to use the self-built LAPACK. The package I am = using is from www.netlib.org/lapack. The build and installation of this package is = really different from usual packages. It=20 will build the library under the directory where it is built and 'make = install' makes no difference. I try to run lapackpp configure as follows: ./configure --with-blas=3D/hdb2/MIMO/LAPACK/blas_LINUX.a = --with-lapack=3D/hdb2/MIMO/LAPACK/lapack_LINUX.a. It fails (refer to conf.result2). Since the configure script can't find the self-built library, I made = change to force it to use the self-built library. That is why the library in the build directory is used. >In any case, I'm also confused why your LAPACK library filenames end in >".a", i.e. they are static libraries. On a recent Linux you would = always >have ".so" files, shared object, i.e. dynamic libraries. This again >looks like you didn't install the LAPACK package correctly. Again, >please ask the Debian guys on how to do this correctly on Debian. As mentioned above, the self-built LAPACK package is from = www.netlib.org/lapack. The built result is really different from usual package. It build static libraries. Maybe a better questions is which lapack package you are using when you = build lapackpp.=20 Will you please tell me on which Linux distribution you have tested to = build lapackpp? Best regards, Hongwei |