Arpack_jll artifacts unable to see OpenBLAS_jll artifacts for linking

I’m on Archlinux and I’m currently trying to import the Arpack module but getting an error with a missing library:

ERROR: LoadError: InitError: could not load library "/home/pengwyn/.julia/artifacts/8a63e55e4ce37cc04c039ac5f48c2a8b8e9b3b37/lib/libarpack.so"
libopenblas64_.so.0: cannot open shared object file: No such file or directory

From what I understand, this is an artifact being loaded by Arpack_jll, which itself depends on OpenBLAS_jll which should include the dependency of libopenblas64_.so.0. However, the issue appears to be the system (i.e. the external dlopen, not the internal Julia dlopen) is looking for the library and can’t find it.

I can confirm that I can issue these commands without an error:

julia> using OpenBLAS_jll
julia> using Libdl
julia> dlopen("libopenblas64_.so")
Ptr{Nothing} @0x00005611d02e57b0

but dlopen("libopenblas64_.so.0") gives an error.

If I manually include the artifact lib directory into Libdl.DL_LOAD_PATH then I am able to do an in-Julia dlopen("libopenblas64_.so.0") successfully, but importing the Arpack_jll module still fails.

The only way I’ve been able to make this work so far, is to make sure the artifact lib directory is in the LD_LIBRARY_PATH environment variable before starting Julia.

Is there a bug here? Or is there a configuration issue on my end?

I would suggest opening an issue for the Arpack repository to investigate this, with all relevant information, eg

  1. pkg> st --manifest Arpack,
  2. versioninfo()

Also

using LinearAlgebra; BLAS.vendor()

I’ve been getting that problem with MKL, but not OpenBLAS.

1 Like

Thanks for the comments - I’ve created a new issue on the Arpack repo. Here’s the link if anyone wants to see: https://github.com/JuliaLinearAlgebra/Arpack.jl/issues/97