Thread: [Lapackpp-devel] Error configuring with externally compiled Blas & Lapack
Status: Beta
Brought to you by:
cstim
From: Sonia S. <son...@gm...> - 2007-01-25 13:28:57
|
Hi, I am trying to compile lapackpp-2.5.0 on Suse Linux. I am using Intel's MKL library containing Blas and Lapack libraries. When I run configure giving the path to these libraries, it gives the error of not finding functions in the blas/lapack libraries. --------------------------------------------------------------------------------------------------------- > ./configure --with-blas=~/pacakages/mkl/lib/32/libmkl_ia32.a --with-lapack=~/pacakages/mkl/lib/32/libmkl_lapack.a . . . . checking for dummy main to link with Fortran libraries... none checking for Fortran name-mangling scheme... lower case, underscore, no extra underscore checking for sgemm_ in ~/pacakages/mkl/lib/32/libmkl_ia32.a... no checking for sgemm_... no checking if ATLAS should be used... yes checking for ATLAS library... checking for f77blas library... configure: WARNING: not found checking for cblas library... configure: WARNING: not found checking whether ATLAS is usable... configure: WARNING: no checking for sgemm_ in -lblas... no checking for sgemm_ in -lcxml... no checking for sgemm_ in -ldxml... no checking for sgemm_ in -lscs... no checking for sgemm_ in -lcomplib.sgimath... no checking for sgemm_ in -lblas... (cached) no checking for sgemm_ in -lblas... (cached) no checking for sgemm_ in -lblas32... no checking for cheev_ in ~/pacakages/mkl/lib/32/libmkl_lapack.a... noblas configure: error: Blas/Lapack was not found. *** This means Lapack++ and matrix support cannot be compiled. *** This makes this library unusable. Please get blas and lapack *** installed. If you do have these installed, use the options *** --with-blas=<libname> or --with-lapack=<libname> and/or set *** the env variable LDFLAGS to include the appropriate linker *** flags. --------------------------------------------------------------------------------- But when I nm the libraries that I am linking to, I can find the functions that configure was looking for. -------------------------------------------------------------------------------- > nm ~/pacakages/mkl/lib/32/libmkl_ia32.a | grep sgemm_ def_sgemm_omp.o: 00000004 b ___kmpv_zeromkl_blas_def_sgemm_0 00000000 b ___kmpv_zeromkl_blas_def_sgemm_1 0000051a t L_mkl_blas_def_sgemm_276__par_loop0 0000081c t L_mkl_blas_def_sgemm_296__par_loop1 def_xsgemm_1.o: 00000000 T mkl_blas_def_xsgemm_1 U mkl_blas_def_xsgemm_1 p3_sgemm_omp.o: 00000004 b ___kmpv_zeromkl_blas_p3_sgemm_0 00000000 b ___kmpv_zeromkl_blas_p3_sgemm_1 0000051a t L_mkl_blas_p3_sgemm_276__par_loop0 00000801 t L_mkl_blas_p3_sgemm_296__par_loop1 p4_sgemm_omp.o: 00000004 b ___kmpv_zeromkl_blas_p4_sgemm_0 00000000 b ___kmpv_zeromkl_blas_p4_sgemm_1 0000051a t L_mkl_blas_p4_sgemm_276__par_loop0 00000801 t L_mkl_blas_p4_sgemm_296__par_loop1 p4p_sgemm_omp.o: 00000004 b ___kmpv_zeromkl_blas_p4p_sgemm_0 00000000 b ___kmpv_zeromkl_blas_p4p_sgemm_1 0000051a t L_mkl_blas_p4p_sgemm_276__par_loop0 00000801 t L_mkl_blas_p4p_sgemm_296__par_loop1 p4m_sgemm_omp.o: 00000004 b ___kmpv_zeromkl_blas_p4m_sgemm_0 00000000 b ___kmpv_zeromkl_blas_p4m_sgemm_1 0000051a t L_mkl_blas_p4m_sgemm_276__par_loop0 00000801 t L_mkl_blas_p4m_sgemm_296__par_loop1 _sgemm_fb.o: 00000000 T sgemm_ ------------------------------------------------------- What could be the problem here ? Thanks, ~ sonia |
From: Christian S. <sti...@tu...> - 2007-01-25 13:59:06
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Sonia Singhal schrieb: > I am trying to compile lapackpp-2.5.0 on Suse Linux. > I am using Intel's MKL library containing Blas and Lapack libraries. > When I run configure giving the path to these libraries, it gives the > error of not finding functions in the blas/lapack libraries. > --------------------------------------------------------------------------------------------------------- >> ./configure --with-blas=~/pacakages/mkl/lib/32/libmkl_ia32.a --with-lapack=~/pacakages/mkl/lib/32/libmkl_lapack.a > . > . > checking for dummy main to link with Fortran libraries... none > checking for Fortran name-mangling scheme... lower case, underscore, > no extra underscore > checking for sgemm_ in ~/pacakages/mkl/lib/32/libmkl_ia32.a... no This is the important error in the configure result -- according to the "nm" output below, this check should have succeeded instead: >> nm ~/pacakages/mkl/lib/32/libmkl_ia32.a | grep sgemm_ > ... > _sgemm_fb.o: > 00000000 T sgemm_ Can you open the file "config.log" that was created during configure, and look for the exact (compiler/linker) error message on the failed test? To find this place, search for the string "checking for sgemm_" in that file. Maybe the compiler doesn't like the tilde ("~"), in which case you should specify a complete absolute path name instead. Regards, Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRbi3mmXAi+BfhivFAQL5AwQAhD9+flxjEMyfZj3y42F248uDy94nVuD3 r8y+sKzhYRWizuIGvHFeaibqHoZlE1gMTnT8K9V50nwYllc8NhU028Zm+K3z1yGM JTtNMt6IKCOBwQveOKQH1Rktxy6f1LVOCxyvGcQ/dvuDHqRc12h9McDKNNNZLUjh bPlHY0+KVlk= =6x2V -----END PGP SIGNATURE----- |
From: Sonia S. <son...@gm...> - 2007-01-25 14:28:29
|
Hi, I gave the full path, and the config.log looks like this ----------------------------------------------------------------- | } configure:22227: result: no configure:22237: checking for sgemm_ configure:22302: gcc -o conftest -g -O2 conftest.c -L/afs/ece.cmu.edu/support/gcc/4.1.1/4.1.1-1/i386_suse93/image/usr/local/bin/../lib/gcc/i686-pc-linux-gnu/4.1.1 -L/afs/ece.cmu.edu/support/gcc/4.1.1/4.1.1-1/i386_suse93/image/usr/local/bin/../lib/gcc -L/usr/local/lib/gcc/i686-pc-linux-gnu/4.1.1 -L/afs/ece.cmu.edu/support/gcc/4.1.1/4.1.1-1/i386_suse93/image/usr/local/bin/../lib/gcc/i686-pc-linux-gnu/4.1.1/../../.. -L/usr/local/lib/gcc/i686-pc-linux-gnu/4.1.1/../../.. -lgfortranbegin -lgfortran -lm -lgcc_s >&5 /tmp/ccUC6VD8.o: In function `main': /ux0/soniasin/packages/lapackpp-2.5.0/conftest.c:81: undefined reference to `sgemm_' /tmp/ccUC6VD8.o:(.data+0x0): undefined reference to `sgemm_' collect2: ld returned 1 exit status configure:22308: $? = 1 configure: failed program was: ------------------------------------------------------------------------------------- Its not linking the blas lib that I have given in the config command line. ./configure --with-blas=/scratch2/sonia/packages/mkl/lib/32/libmkl_ia32.a --with-lapack=/scratch2/sonia/packages/mkl/lib/32/libmkl_lapack.a ~ Sonia On 1/25/07, Christian Stimming <sti...@tu...> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi, > > Sonia Singhal schrieb: > > I am trying to compile lapackpp-2.5.0 on Suse Linux. > > I am using Intel's MKL library containing Blas and Lapack libraries. > > When I run configure giving the path to these libraries, it gives the > > error of not finding functions in the blas/lapack libraries. > > --------------------------------------------------------------------------------------------------------- > >> ./configure --with-blas=~/pacakages/mkl/lib/32/libmkl_ia32.a --with-lapack=~/pacakages/mkl/lib/32/libmkl_lapack.a > > . > > . > > checking for dummy main to link with Fortran libraries... none > > checking for Fortran name-mangling scheme... lower case, underscore, > > no extra underscore > > checking for sgemm_ in ~/pacakages/mkl/lib/32/libmkl_ia32.a... no > > This is the important error in the configure result -- according to the > "nm" output below, this check should have succeeded instead: > > >> nm ~/pacakages/mkl/lib/32/libmkl_ia32.a | grep sgemm_ > > ... > > _sgemm_fb.o: > > 00000000 T sgemm_ > > Can you open the file "config.log" that was created during configure, > and look for the exact (compiler/linker) error message on the failed > test? To find this place, search for the string "checking for sgemm_" in > that file. Maybe the compiler doesn't like the tilde ("~"), in which > case you should specify a complete absolute path name instead. > > Regards, > > Christian > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.2.1 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iQCVAwUBRbi3mmXAi+BfhivFAQL5AwQAhD9+flxjEMyfZj3y42F248uDy94nVuD3 > r8y+sKzhYRWizuIGvHFeaibqHoZlE1gMTnT8K9V50nwYllc8NhU028Zm+K3z1yGM > JTtNMt6IKCOBwQveOKQH1Rktxy6f1LVOCxyvGcQ/dvuDHqRc12h9McDKNNNZLUjh > bPlHY0+KVlk= > =6x2V > -----END PGP SIGNATURE----- > |
From: Christian S. <sti...@tu...> - 2007-01-25 14:40:56
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Sonia Singhal schrieb: > I gave the full path, and the config.log looks like this > > ----------------------------------------------------------------- > configure:22227: result: no > configure:22237: checking for sgemm_ > /tmp/ccUC6VD8.o: In function `main': > /ux0/soniasin/packages/lapackpp-2.5.0/conftest.c:81: undefined > reference to `sgemm_' > /tmp/ccUC6VD8.o:(.data+0x0): undefined reference to `sgemm_' > collect2: ld returned 1 exit status > configure:22308: $? = 1 > configure: failed program was: > ------------------------------------------------------------------------------------- There are several checks for sgemm_. The first one doesn't specify any blas library, so it usually fails on every system. The second check ("checking for sgemm_ in") then uses the blas library and (hopefully) succeeds. Christian > Its not linking the blas lib that I have given in the config command line. > ./configure --with-blas=/scratch2/sonia/packages/mkl/lib/32/libmkl_ia32.a > --with-lapack=/scratch2/sonia/packages/mkl/lib/32/libmkl_lapack.a -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRbjBbWXAi+BfhivFAQKy9QP8DSttKfpttsfFYYLFU9ZKcre0RAXtCvcJ XVQ7b+pGUzpft8gk65ld8ePAegTakONO5PAGk3hh3PWvRc68K6MetqMfKGptJs5B OPa0AA6gxOI5WhQIveRdt+CjG70IpLlNPh61iDZ81T4mZNsHrnXtJwQALqt4IwgG F4JDWpAayt4= =+TE8 -----END PGP SIGNATURE----- |