Как собрать hmatrix с BLAS и LAPACK под Windows?

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> кабальная установка --extra-include-dirs=D:\Projects\workspace\gsl-lapack-windows\ --extra-lib-dirs=d:\Projects\workspace\ GSL-LAPACK-окна \

Я получил это сообщение, которое до сих пор не могу решить:

Настройка hmatrix-0.16.1.5... Не удалось установить журнал сборки hmatrix-0.16.1.5 ( D:\Projects\workspace\hmatrix-0.16.1.5.cabal-sandbox\logs\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"). Если библиотеки уже установлены, но находятся в нестандартном месте, вы можете использовать флаги --extra-include-dirs = и --extra-lib-dirs =, чтобы указать, где они находятся. cabal: Ошибка: не удалось установить некоторые пакеты: hmatrix-0.16.1.5 не удалось выполнить на этапе настройки. Исключением было: ExitFailure 1

"-dev версии", я думаю, только для ОС на базе *nix. В папки, которые я даю cabal есть blas.dll и lapack.dll.

В чем может быть проблема?

1 ответ

Попробуй это:

  1. Установите mingw с https://sourceforge.net/projects/mingw-w64/files/, в моем случае x86_64-posix-seh). Нам нужно просто libgfortran-3.dll, которого нет в ghc's mingw. Или вы можете получить его здесь: http://icl.cs.utk.edu/lapack-for-windows/libraries/VisualStudio/3.6.0/Dynamic-MINGW/Win64/libgfortran-3.dll (заменить Win64 на Win32 в URL при необходимости)
  2. Получите двоичные файлы OpenBLAS с https://sourceforge.net/projects/openblas/files/ (в моем случае Win64-int32).
  3. Место libopenblas.dll а также libgfortran-3.dll в какой-то папке, в моем случае C:\Programs\lib
  4. cabal install hmatrix --flags=openblas --extra-lib-dirs=C:\Programs\lib

Это все. Вы также должны передать библиотеку ghci (все библиотеки должны быть в PATH, поэтому в моем случае GHC mingw\bin а также C:\Programs\lib находятся в PATH):

ghci -llibopenblas -llibgfortran-3 -llibgcc_s_seh-1

где libgcc_s_seh-1.dll находится в Mingw GHC (в моем случае: C:\Programs\ghc\ghc-8.0.1\mingw\bin)

ПРИМЕЧАНИЕ: протестировано с ghc-8.0.1
ОБНОВЛЕНИЕ: я обнаружил, что теперь это можно сделать за меньшее количество шагов

Другие вопросы по тегам