-
Notifications
You must be signed in to change notification settings - Fork 15
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
Symbol not found: _dlacpy_64_ when calling svdvals on a DistribuedArray #76
Comments
It looks like you are fetching the wrong BLAS. How did you install the package as well as Julia? |
I installed Julia using homebrew, and Elemental using the Pkg CLI. When I look for
But when I look for for lib in (find / -name \*.dylib 2>/dev/null)
echo $lib
nm $lib | grep _dlacpy_ | grep -v " U "
end >> find_dlacpy I assume that I need to install a specific version of BLAS. |
Some more info: I did a system-wide search for all ELF references to Can you advise what I should install? |
BTW @andreasnoack I have |
This is the way openBLAS is build in Homebrew: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openblas.rb I wonder if the problem is that the default is not built with |
The problem is the Homebrew julia. Please try the version from julialang.org. I believe it should fix the issue here. |
I stumbled across the same solution. Thanks! However I prefer to have package managers manage my software for me. This made me try the Julia cask: Also note that
julia> using LinearAlgebra; LinearAlgebra.BLAS.vendor()
:openblas
julia> using LinearAlgebra; LinearAlgebra.BLAS.vendor()
:openblas64 Let me know if you want me to add this check -- it could warn the user that they are using the wrong version of Julia. Alternatively, I could investigate at https://github.com/JuliaLinearAlgebra/libblastrampoline |
The linking here is a bit complicated but I think that Elemental is actually searching the wrong library here since it's supposed to use the version of OpenBLAS declared as a dependency in https://github.com/JuliaBinaryWrappers/Elemental_jll.jl/blob/b72537ed6bde7b1f52bc9cefc26153c6fef2aff3/Project.toml#L8. I'm not sure why it is not using that version but instead the one that Julia is linked against. Maybe it's something in the homebrew configuration of the julia tap or maybe it's the Elemental binary which isn't correctly configured. Let's ask @staticfloat since he probably knows. |
As long as OpenBLAS ships with Julia, The issue here is that we make assumptions about what Julia ships with, but then having Homebrew use system-provided libraries breaks that assumption. This is true for OpenBLAS, but it can be true for many other things as well, so while you're welcome to use this kind of Julia @JBlaschke, please note that it's not unusual for things to break in unexpected ways due to using different versions of libpcre, libcurl, libopenblas, etc... than Julia is expecting. I know it sacrifices a couple of hundred MBs of disk space, but we think it's more than worth it to have a standardized environment that we can support across many different kinds of machines. |
Hi,
I tried the example here: https://github.com/JuliaParallel/Elemental.jl#svd-example-with-distributedarrays-on-4-processors on my macOS 11.6.1 laptop and I get:
I'm wondering if this is a macOS problem (do I need to set a path maybe?), and if anyone here has any ideas.
The text was updated successfully, but these errors were encountered: