Проблемы с установкой hmatrix через MSYS2 на Windows 10
Я пытался установить 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
если они.libs. Заголовочные файлы уже содержались в c:\msys64\include\openblas
,
Я попробовал несколько вариантов команды в исходном посте после внесения этих изменений, включая переключение \bin
с \lib
и переключение \include
с \include\openblas
, но все они по-прежнему дают ту же ошибку.
1 ответ
Я немного подозрительно
if os(windows)
if flag(openblas)
extra-libraries: libopenblas
в файле cabal, не могли бы вы распаковать его и удалить часть "lib"? Если это не сработает, пожалуйста, опубликуйте журнал с выводом -v3. Я видел довольно много людей с проблемами при установке этого пакета. Так не могли бы вы также открыть тикет на трекере ошибок GHC, если это не сработало (и отправьте мне "Phyx-")?
Во-вторых, вы никогда не говорили, какую версию GHC вы используете. У 8.0.1 должно быть гораздо меньше проблем (и не понадобится хакерство, чтобы заставить его работать в GHCi), так как компоновщик среды выполнения был переработан и должен быть намного лучше в Windows. 8.0.2, вероятно, также будет включать поддержку новых библиотек импорта.