我使用yum和epel在我的CentOS机器上安装了julia (v1.1.1),如[platform specific instructions(https://julialang.org/downloads/platform.html) ]中所述。
Julia工作得很好,但是在预编译包(例如using DataFrames)时,我得到
[ Info: Precompiling GLM [38e38edf-8417-5370-95a0-9cbb8c7f171a]
ERROR: LoadError: No deps.jl file could be found. Please try running Pkg.build("Arpack").
Currently, the build command might fail when Julia has been built from source
and the recommendation is to use the official binaries from julialang.org.
For more info see https://github.com/JuliaLinearAlgebra/Arpack.jl/issues/5.我不太了解编译、从源代码构建等方面的知识,无法解决这个问题。我想如果我只是从主页下载Julia并在该文件夹中使用它,它会工作得很好。但我更喜欢通过包管理器使用它来自动接收更新。
我该如何解决这个问题?
发布于 2019-08-04 00:47:06
不幸的是,这是意料之中的,因为Arpack.jl希望OpenBLAS被称为libopenblas64_.so.0,而在Fedora/CentOS中它是libopenblasp64_.so.0。您可以使用sudo ln -s /lib64/libopenblas64p_.so.0 ~/.julia/packages/Arpack/*/deps/lib/libopenblas64_.so.0解决此问题。我将尝试与Arpack.jl开发人员一起寻找解决方案。
发布于 2019-07-23 19:59:03
所以我最终通过原始的julialang页面解决了这个问题。出于某些原因,如果您通过# yum install julia安装julia (启用了epel ),则无法构建Arpack。
如果您从官方页面下载julia并将其添加到path,它仍然会抛出相同的错误消息。但是,如果你事先启动julia并运行Pkg.build("Arpack"),它会工作的很好!
发布于 2019-08-08 18:25:51
我确认@MilanBouchet-Valat解决方案有效。以下是Debian发行版的一些细节。
我使用Debian 4.19.37-5包管理器(例如synaptic)安装了Julia。我有过
julia> versioninfo()打印
Julia Version 1.0.4
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: Intel(R) Xeon(R) CPU E5-2603 v3 @ 1.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.0 (ORCJIT, haswell)在Julia下,当我试图安装Arpack包时,我得到了“预期的”错误:
(v1.0) pkg> add Arpack打印
Resolving package versions...
Updating `~/.julia/environments/v1.0/Project.toml`
[7d9fca2a] + Arpack v0.3.1
Updating `~/.julia/environments/v1.0/Manifest.toml`
[no changes]然后
julia> using Arpack打印
[ Info: Precompiling Arpack [7d9fca2a-8960-54d3-9f78-7d1dccf2cb97]
ERROR: LoadError: No deps.jl file could be found. Please try running
Pkg.build("Arpack").
Currently, the build command might fail when Julia has been built from source
and the recommendation is to use the official binaries from julialang.org.
For more info see https://github.com/JuliaLinearAlgebra/Arpack.jl/issues/5.
Stacktrace:
[1] top-level scope at /home/picaud/.julia/packages/Arpack/cu5By/src/Arpack.jl:19
[2] include at ./boot.jl:317 [inlined]
[3] include_relative(::Module, ::String) at ./loading.jl:1044
[4] include(::Module, ::String) at ./sysimg.jl:29
[5] top-level scope at none:2
[6] eval at ./boot.jl:319 [inlined]
[7] eval(::Expr) at ./client.jl:393
[8] top-level scope at ./none:3
in expression starting at /home/picaud/.julia/packages/Arpack/cu5By/src/Arpack.jl:16
ERROR: Failed to precompile Arpack [7d9fca2a-8960-54d3-9f78-7d1dccf2cb97] to /home/picaud/.julia/compiled/v1.0/Arpack/X5VZL.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1203
[3] _require(::Base.PkgId) at ./loading.jl:960
[4] require(::Base.PkgId) at ./loading.jl:858
[5] require(::Module, ::Symbol) at ./loading.jl:853然而,
pkg> build Arpack打印
Building Arpack → `~/.julia/packages/Arpack/cu5By/deps/build.log`
┌ Error: Error building `Arpack`:
│ ERROR: LoadError: LibraryProduct(nothing, ["libarpack"], :libarpack, "Prefix(/home/picaud/.julia/packages/Arpack/cu5By/deps/usr)") is not satisfied, cannot generate deps.jl!
│ Stacktrace:
│ [1] error(::String) at ./error.jl:33
│ [2] #write_deps_file#152(::Bool, ::Function, ::String, ::Array{LibraryProduct,1}) at /home/picaud/.julia/packages/BinaryProvider/TcAwt/src/Products.jl:414
│ [3] (::getfield(BinaryProvider, Symbol("#kw##write_deps_file")))(::NamedTuple{(:verbose,),Tuple{Bool}}, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at ./none:0
│ [4] top-level scope at none:0
│ [5] include at ./boot.jl:317 [inlined]
│ [6] include_relative(::Module, ::String) at ./loading.jl:1044
│ [7] include(::Module, ::String) at ./sysimg.jl:29
│ [8] include(::String) at ./client.jl:392
│ [9] top-level scope at none:0
│ in expression starting at /home/picaud/.julia/packages/Arpack/cu5By/deps/build.jl:74
└ @ Pkg.Operations /build/julia-gbfU8y/julia-1.0.4+dfsg/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1096您可以使用以下命令检查这是否存在依赖关系问题:
ldd ~/.julia/packages/Arpack/cu5By/deps/usr/lib/libarpack.so打印
linux-vdso.so.1 (0x00007ffc179a1000)
libopenblas64_.so.0 => not found <----
libgfortran.so.5 => /usr/lib/x86_64-linux-gnu/libgfortran.so.5 (0x00007feea073d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007feea05ba000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007feea05a0000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007feea0557000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007feea0396000)
/lib64/ld-linux-x86-64.so.2 (0x00007feea0c67000)Debian发行版:
find /usr/lib/ -name libopenblas\*打印
/usr/lib/x86_64-linux-gnu/libopenblas.so
/usr/lib/x86_64-linux-gnu/libopenblasp-r0.3.6.a
/usr/lib/x86_64-linux-gnu/libopenblas64_.so.0
/usr/lib/x86_64-linux-gnu/julia/libopenblas.so
/usr/lib/x86_64-linux-gnu/libopenblas.so.0
/usr/lib/x86_64-linux-gnu/libopenblas.a
/usr/lib/x86_64-linux-gnu/libopenblasp-r0.3.6.so使用root权限(su)创建符号链接
ln -s /usr/lib/x86_64-linux-gnu/libopenblas.so /usr/lib/x86_64-linux-gnu/libopenblas64_.so.0现在它可以工作了
pkg> build Arpack
Building Arpack → `~/.julia/packages/Arpack/cu5By/deps/build.log`然后
using Arpack
[ Info: Precompiling Arpack [7d9fca2a-8960-54d3-9f78-7d1dccf2cb97]都没问题
https://stackoverflow.com/questions/57071338
复制相似问题