Как собрать 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 ответ
Попробуй это:
- Установите 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 при необходимости) - Получите двоичные файлы OpenBLAS с https://sourceforge.net/projects/openblas/files/ (в моем случае
Win64-int32
). - Место
libopenblas.dll
а такжеlibgfortran-3.dll
в какой-то папке, в моем случаеC:\Programs\lib
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
ОБНОВЛЕНИЕ: я обнаружил, что теперь это можно сделать за меньшее количество шагов