-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build on Windows error -> can't load .so/.DLL for: libopenblas.dll
#22
Comments
Hmm... I suspect that the problem is still in how hmatrix is installed. SubHask doesn't use openblas directly at all. It only accesses it through hmatrix. I'm not very familiar with either Windows or stack. Is there a chance that stack is not using the fixed version of hmatrix you have installed? |
@razvan-panda You need to have libopenblas.dll into your PATH to work. |
@varosi I had libopenblas.dll in the PATH under |
Upgraded stack from 1.2.* to latest 0.1.4.1 and getting the same error. No idea why this is happening as it built ok when building hmatrix alone. |
This might have something to do with dynamic / enable shared options: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/using-shared-libs.html |
Possibly related: https://ghc.haskell.org/trac/ghc/ticket/8618 or |
@razvan-panda: I tried right now to copy libopenblas.dll to root of subhask and it stopped to give that message about the DLL. But now it gives different message:
with GHC 7.10.2 x64 |
I found that this has to do with GCC: May be this OpenBLAS is built with GCC and this is the problem. But without success. |
__muldc3 symbol is found in LIBGCC_S_SEH-1.DLL library. |
@varosi Thank you for the investigation. I am not sure how to approach figuring this out. Tried copying libopenblas.dll into subhask root and the error message did not change for me, same error when copying in the build directory |
@razvan-panda You are welcome!
|
http://comments.gmane.org/gmane.linux.lib.musl.general/4007 Have more information. I think that the problem comes from OpenBLAS library itself. |
@varosi I placed the DLL (same architecture as the one which worked for building only hmatrix by itself) in the subhask root folder and built using stack and it did not see it (haven't tried with cabal-install). |
@razvan-panda, I have changed this line in hmatrix.cabal:
and now it giving me next linker error:
It is connected with GCC StdLib and math functions, I think. |
May be the problem is in OpenBLAS Windows distribution itself... It's just too much time wasted because of BLAS/LAPACK stuff. May be radical solution like this better: Or use some pure Haskell solution. |
hm, I think that if the person that is built OpenBLAS for Windows could provide us with DLL that have math functions in it, this could help a lot. |
I tried to comment math functions, so almost all math functions are missing in DLLs. |
I applied the hmatrix commits for
stack
and build on windows found in https://github.com/varosi/hmatrix/tree/feature/base-stack over the hmatrix 0.16.1.5 which is required as a subhask dependency. When I build only hmatrix it builds without any error.Adding the altered hmatrix package above to the subhask package yaml configuration yields the following error:
The modified subhask yaml file used for building is:
Could instead have passed the extra setting by command line as mentioned in: https://github.com/varosi/hmatrix/blob/feature/base-stack/INSTALL.md
The text was updated successfully, but these errors were encountered: