如何在Windows下使用BLAS和LAPACK构建hmatrix?

时间:2015-09-06 11:49:46

标签: windows haskell lapack blas hmatrix

Windows 10 x64 Cabal 1.22

我正在按照Windows部分https://github.com/AlbertoRuiz/hmatrix/blob/master/INSTALL.md

中的步骤进行操作

我下载了hmatrix源码和gsl-lapack-windows.zip。 当我尝试使用以下命令安装hmatrix时:

  

D:\ Projects \ workspace \ hmatrix-0.16.1.5> cabal install   --extra-include-dirs = D:\ Projects \ workspace \ gsl-lapack-windows \ --extra-lib-dirs = d:\ Projects \ workspace \ gsl-lapack-windows \

我收到的消息是我仍然无法解决:

  

配置hmatrix-0.16.1.5 ...无法安装hmatrix-0.16.1.5   构建日志(   d:\项目\工作空间\ HMATRIX-0.16.1.5.cabal的沙箱\日志\ HMATRIX-0.16.1.5.log   ):配置hmatrix-0.16.1.5 ...   setup-Simple-Cabal-1.22.4.0-x86_64-windows-ghc-7.10.2.exe:缺少   对外国图书馆的依赖:   *缺少C库:blas,lapack,blas,lapack这个问题通常可以通过安装提供这些的系统包来解决   库(您可能需要“-dev”版本)。如果是库   已安装但在非标准位置,您可以使用   flags --extra-include-dirs =和--extra-lib-dirs =指定位置   他们是。 cabal:错误:某些软件包无法安装:   配置步骤中hmatrix-0.16.1.5失败。例外是:   ExitFailure 1

“ - dev版本”我认为仅适用于基于* nix的操作系统。在我给cabal的文件夹中有blas.dll和lapack.dll。

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

试试这个:

  1. 在我的案例x86_64-posix-seh中安装来自https://sourceforge.net/projects/mingw-w64/files/的mingw。我们只需要libgfortran-3.dll,这在ghc的mingw中是不存在的。或者你可以从这里得到它:http://icl.cs.utk.edu/lapack-for-windows/libraries/VisualStudio/3.6.0/Dynamic-MINGW/Win64/libgfortran-3.dll(如有必要,用url替换Win32和Win32)
  2. https://sourceforge.net/projects/openblas/files/获取OpenBLAS二进制文件(在我的情况下为Win64-int32)。
  3. libopenblas.dlllibgfortran-3.dll放在某个文件夹中,在我的情况下C:\Programs\lib
  4. cabal install hmatrix --flags=openblas --extra-lib-dirs=C:\Programs\lib
  5. 这就是全部。您还必须将库传递给ghci(所有库必须在PATH中,因此在我的情况下,ghc的mingw\binC:\Programs\lib在PATH中):

    ghci -llibopenblas -llibgfortran-3 -llibgcc_s_seh-1

    其中libgcc_s_seh-1.dll在ghc的mingw中(在我的情况下:C:\Programs\ghc\ghc-8.0.1\mingw\bin

    注意:使用ghc-8.0.1进行测试
    更新:我发现现在可以用更少的步骤完成