Searching for libs in BLAS_LIBRARY_DIRS=''

359 views
Skip to first unread message

Phil H

unread,
Jul 6, 2017, 9:28:22 AM7/6/17
to deal.II User Group
Hello I'm using candi to install deal.ii on a brand new cluster. 

The new cluster is geared up to use intel, but I can try and use gcc. The modules I load to begin with are: 

  1) nixpkgs/.16.09 (H,S)   3) gcccore/.5.4.0 (H)   5) openmpi/2.1.1   (m)

  2) StdEnv/2016.4  (S)     4) gcc/5.4.0      (t)   6) imkl/11.3.4.258 (math)


I then specify: 


export CC=mpicc; export CXX=mpicxx; export FC=mpif90; export FF=mpif77


In the candi build file, I list imkl in the relevant position: 


In this folder there are: 

libmkl_ao_worker.so libmkl_intel_ilp64.so

libmkl_avx2.so libmkl_intel_lp64.a

libmkl_avx512_mic.so libmkl_intel_lp64.so

libmkl_avx512.so libmkl_intel_sp2dp.a

libmkl_avx.so libmkl_intel_sp2dp.so

libmkl_blacs_ilp64.a libmkl_intel_thread.a

libmkl_blacs_ilp64.so libmkl_intel_thread.so

libmkl_blacs_intelmpi_ilp64.a libmkl_lapack95_ilp64.a

libmkl_blacs_intelmpi_ilp64.so libmkl_lapack95_lp64.a

libmkl_blacs_intelmpi_lp64.a libmkl_lapack.a

libmkl_blacs_intelmpi_lp64.so libmkl_mc3.so

libmkl_blacs_lp64.a libmkl_mc.so

libmkl_blacs_lp64.so libmkl_pgi_thread.a

libmkl_blacs_openmpi_ilp64.a libmkl_pgi_thread.so

libmkl_blacs_openmpi_ilp64.so libmkl_rt.so

libmkl_blacs_openmpi_lp64.a libmkl_scalapack.a

libmkl_blacs_openmpi_lp64.so libmkl_scalapack_ilp64.a

libmkl_blacs_sgimpt_ilp64.a libmkl_scalapack_ilp64.so

libmkl_blacs_sgimpt_ilp64.so libmkl_scalapack_lp64.a

libmkl_blacs_sgimpt_lp64.a libmkl_scalapack_lp64.so

libmkl_blacs_sgimpt_lp64.so libmkl_sequential.a

libmkl_blas95_ilp64.a libmkl_sequential.so

libmkl_blas95_lp64.a libmkl.so

libmkl_cdft.a libmkl_solver.a

libmkl_cdft_core.a libmkl_tbb_thread.a

libmkl_cdft_core.so libmkl_tbb_thread.so

libmkl_core.a libmkl_vml_avx2.so

libmkl_core.so libmkl_vml_avx512_mic.so

libmkl_def.so libmkl_vml_avx512.so

libmkl_em64t.a libmkl_vml_avx.so

libmkl_gf_ilp64.a libmkl_vml_cmpt.so

libmkl_gf_ilp64.so libmkl_vml_def.so

libmkl_gf_lp64.a libmkl_vml_mc2.so

libmkl_gf_lp64.so libmkl_vml_mc3.so

libmkl_gnu_thread.a libmkl_vml_mc.so

libmkl_gnu_thread.so locale

libmkl_intel_ilp64.a



I run into this error when compiling trilinos:



Processing enabled TPL: MPI (enabled explicitly, disable with  
-DTPL_ENABLE_MPI=OFF)
Processing enabled TPL: BLAS (enabled by TeuchosNumerics, disable with  
-DTPL_ENABLE_BLAS=OFF)
-- Searching for libs in BLAS_LIBRARY_DIRS=''
-- Searching for a lib in the set "blas blas_win32":
--   Searching for lib 'blas' ...
--   Searching for lib 'blas_win32' ...
-- ERROR: Did not find a lib in the lib set "blas blas_win32" for the  
TPL 'BLAS'!
-- ERROR: Could not find the libraries for the TPL 'BLAS'!
-- TIP: If the TPL 'BLAS' is on your system then you can set:
       -DBLAS_LIBRARY_DIRS='<dir0>;<dir1>;...'
     to point to the directories where these libraries may be found.
     Or, just set:
       -DTPL_BLAS_LIBRARIES='<path-to-libs0>;<path-to-libs1>;...'
     to point to the full paths for the libraries which will
     bypass any search for libraries and these libraries will be used without
     question in the build.  (But this will result in a build-time error
     if not all of the necessary symbols are found.)
-- ERROR: Failed finding all of the parts of TPL 'BLAS' (see above), Aborting!


-- NOTE: The find module file for this failed TPL 'BLAS' is:   
/home/pheron/deal.ii-candi/tmp/unpack/Trilinos-trilinos-release-12-10-1/cmake/tribits/common_tpls/FindTPLBLAS.cmake



I've tried a number of different work arounds but to no luck. Some advice from the cluster support is as such: "your build software apparently assumes (incorrectly) that all BLAS library implementations contain the word "blas" in the library name. There is no "blas_win" library on the server and the BLAS you probably want to be using is that from the MKL". 

Has anyone encountered this error before, especially when using new module of gcc, openmpi, and mkl? 

Thanks in advance, 

Phil 

Bruno Turcksin

unread,
Jul 6, 2017, 10:14:53 AM7/6/17
to deal.II User Group
Phil,

did you forget to change MKL=OFF to MKL=ON, in candi.cfg (https://github.com/dealii/candi/blob/master/candi.cfg#L68)? This should change the name from blas to whatever is the name for mkl.

Best,

Bruno

Phil H

unread,
Jul 6, 2017, 10:56:50 AM7/6/17
to deal.II User Group
Hi Bruno, 

No, I changed the MKL to ON, which is why this is strange. 

Cheers, 

Phil

Bruno Turcksin

unread,
Jul 6, 2017, 11:23:24 AM7/6/17
to dea...@googlegroups.com
Phil,

the names for BLAS and LAPACK are changed here
https://github.com/dealii/candi/blob/master/deal.II-toolchain/packages/trilinos.package#L76
Maybe you can add a cecho in the function to see if confopts is set
correctly.

Best,

Bruno
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see
> https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/dealii/fOiWdTJVyrA/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> dealii+un...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages