0

(64 ビット) Windows 10 コンピューターに hmatrix をインストールしようとしています。多くの考えられる解決策 (「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.alibopenblas.aはディレクトリにありc:\msys64\mingw64\libます。このディレクトリも何らかの形で含める必要がある可能性はありますか? (もしそうなら、どうやってそれをしますか?)

また、以下の Alex Vorobiev のコメントにあるファイルをダウンロードし、c:\msys64\mingw64\binそれらが .dll であるか、.lib であるかc:\msys64\mingw64\libを入力しました。ヘッダー ファイルは、既にc:\msys64\include\openblas.

での切り替えや での切り替え\binなど、これらの変更を行った後、元の投稿のコマンドでいくつかのバリエーションを試しましたが、それでもすべて同じエラーが発生します。\lib\include\include\openblas

4

1 に答える 1

0

~について少し疑問を持っている

 if os(windows)
    if flag(openblas)
        extra-libraries:    libopenblas

cabalファイルの「lib」の部分を解凍して削除していただけないでしょうか?それでもうまくいかない場合は、-v3 出力でログを投稿してください。このパッケージのインストールに問題を抱えている人をかなり見てきました。それでうまくいかない場合は、GHC バグトラッカーでチケットを開いてもらえますか (そして私に "Phyx-" の CC を付けてください)。

第二に、使用している GHC のバージョンについて言及していません。8.0.1 では、実行時リンカーがオーバーホールされ、Windows での動作が大幅に改善されているため、問題がはるかに少ない (GHCi で動作させるためにハックする必要がない) はずです。8.0.2 には、新しいインポート ライブラリのサポートも含まれる可能性があります。

于 2016-08-06T08:44:23.873 に答える