Проблемы с установкой 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, вероятно, также будет включать поддержку новых библиотек импорта.

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