[Haskell-cafe] Re: Patrick Perry's BLAS package

Alberto Ruiz aruiz at um.es
Sat Jun 7 06:19:28 EDT 2008


Patrick Perry wrote:

 > Xiao-Yong Jin wrote:
>> Apart from some warnings, the library compiles fine in my
>> system.  But there is a minor issue about the library it
>> links against when `./Setup test'.  I need to use `-lcblas'
>> instead of `-lblas' to get it to link to correct libraries.
>> I don't know other people's system.  But in my system,
>> Gentoo Linux, I use blas library provided by atlas, and
>> libblas.so is a fortran library and libcblas.so is for C.
> 
> I don't know of a good way to get around this.  It seems like every 
> system has a different convention for the location and name of the cblas 
> libraries.  So, everyone has to edit the "extra-libraries" and the 
> "extra-lib-dirs" field in the blas.cabal file.  Does anyone know of a 
> better way of doing this?
> 

A possible solution is using flags in the cabal configuration file. For 
instance, I have this in hmatrix.cabal:

if flag(mkl)
  if arch(x86_64)
   extra-libraries: gsl mkl_lapack mkl_intel_lp64 mkl_sequential mkl_core
  else
    extra-libraries: gsl mkl_lapack mkl_intel mkl_sequential mkl_core
else
  extra-libraries: gsl blas lapack

so if I want to link with Intel's MKL optimized blas/lapack instead of 
ATLAS I simply add the -fmkl flag:

runhaskell Setup.lhs configure -fmkl etc.

or even

cabal install hmatrix -fmkl

Other flags can be added to support different distributions. We could 
have something like

cabal install package -ffedora

or

cabal install package -fcblas

etc.

Alberto


More information about the Haskell-Cafe mailing list