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

Judah Jacobson judah.jacobson at gmail.com
Sun Jun 8 14:01:45 EDT 2008


2008/6/6 Patrick Perry <patperry at stanford.edu>:
>
> 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?
>

My preference is to use an autoconf script to solve that problem.
("build-type: Configure" in the cabal file.)

For example, the editline and readline C libraries require termcap,
which may be linked using one of -lcurses, -ltermcap, etc.  The
Haskell packages have a configure script which checks which of
curses/termcap is available and outputs an editline.buildinfo file
with the extra-libraries field filled in.  That file is then used
automatically by cabal in the build and install phases.

See for example:
http://code.haskell.org/editline/editline.cabal
http://code.haskell.org/editline/configure.ac
http://code.haskell.org/editline/editline.buildinfo.in

There's also more information is in the Cabal manual:
http://haskell.org/cabal/release/latest/doc/users-guide/x30.html#system-dependent

Best,
-Judah


More information about the Haskell-Cafe mailing list