Я пытался установить hmatrix на свой (64-разрядный) компьютер с Windows 10; после поиска и опробования многих возможных решений (включая инструкции в разделе «Windows» и «Альтернативная сборка Windows», приведенные здесь), я решил следовать курсу действий, указанному в этой Тема Reddit.
Однако, когда я набираю команду
cabal install hmatrix -fopenblas --extra-lib-dir=${c:\msys64\mingw64\bin} --extra-include-dir=${c:\msys64\mingw64\include}
в оболочку MSYS2 выдается следующий журнал:
Resolving dependencies...
Configuring hmatrix-0.17.0.2...
Failed to install hmatrix-0.17.0.2
Build log ( C:\Users\Christian\AppData\Roaming\cabal\logs\hmatrix-0.17.0.2.log ):
Configuring hmatrix-0.17.0.2...
cabal.exe: Missing dependency on a foreign library:
* Missing C library: libopenblas
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
cabal: Leaving directory 'C:\msys64\tmp\cabal-tmp-4244\hmatrix-0.17.0.2'
cabal.exe: Error: some packages failed to install:
hmatrix-0.17.0.2 failed during the configure step. The exception was:
ExitFailure 1
Однако, когда я проверяю каталог c:\msys64\mingw64\bin
, я вижу, что libopenblas.dll
находится прямо там; Я не знаю, почему Кабал не может его найти.
Любое понимание того, почему это не работает или что делать?
ОБНОВЛЕНИЕ: файлы libopenblas.dll.a
и libopenblas.a
находятся в каталоге c:\msys64\mingw64\lib
. Возможно ли, что мне нужно как-то включить и этот каталог? (Если да, то как бы я это сделал?)
Я также скачал файлы из комментария Алекса Воробьева ниже и поместил их в c:\msys64\mingw64\bin
, если они .dll, или c:\msys64\mingw64\lib
, если они .lib. Файлы заголовков уже содержались в c:\msys64\include\openblas
.
Я попробовал несколько вариантов команды в исходном сообщении после внесения этих изменений, включая переключение \bin
на \lib
и переключение \include
на \include\openblas
, но все они по-прежнему дают ту же ошибку.