朱莉娅-随机软件包在Pkg.add()期间出错

时间:2018-11-05 14:53:51

标签: docker package julia

在尝试为某些Julia程序包运行Pkg.add(...)时,我们遇到以下错误:

ERROR: Build process failed.
build!(::Array{String,1}, ::Set{Any}, ::String) at ./pkg/entry.jl:629
build!(::Array{String,1}, ::Set{Any}, ::String) at ./pkg/entry.jl:626 (repeats 2 times)
build!(::Array{String,1}, ::Dict{Any,Any}, ::Set{Any}) at ./pkg/entry.jl:637
build(::Array{String,1}) at ./pkg/entry.jl:652
resolve(::Dict{String,Base.Pkg.Types.VersionSet}, ::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}}, ::Dict{String,Tuple{VersionNumber,Bool}}, ::Dict{String,Base.Pkg.Types.Fixed}, ::Dict{String,VersionNumber}, ::Set{String}) at ./pkg/entry.jl:572
resolve(::Dict{String,Base.Pkg.Types.VersionSet}, ::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}}, ::Dict{String,Tuple{VersionNumber,Bool}}, ::Dict{String,Base.Pkg.Types.Fixed}) at ./pkg/entry.jl:479
edit(::Function, ::String, ::Base.Pkg.Types.VersionSet, ::Vararg{Base.Pkg.Types.VersionSet,N} where N) at ./pkg/entry.jl:30
(::Base.Pkg.Entry.##1#3{String,Base.Pkg.Types.VersionSet})() at ./task.jl:335
Stacktrace:
 [1] sync_end() at ./task.jl:287
 [2] macro expansion at ./task.jl:303 [inlined]
 [3] add(::String, ::Base.Pkg.Types.VersionSet) at ./pkg/entry.jl:51
 [4] (::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#add,Tuple{String}})() at ./pkg/dir.jl:36
 [5] cd(::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#add,Tuple{String}}, ::String) at ./file.jl:70
 [6] #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{String,N} where N) at ./pkg/dir.jl:36
 [7] add(::String) at ./pkg/pkg.jl:117

有趣的是,如果我们尝试为同一程序包重新运行Pkg.add(...),它将起作用! 例如,运行Pkg.add(“ DataArrays”)失败,首先出现上述错误,但重新运行同一命令后,它已正确安装。

底层C / C ++库是否可能引起问题?

  

环境:

     

使用Debian GNU / Linux 8.6(jessie)Julia 0.6.3的Docker

2 个答案:

答案 0 :(得分:1)

julia的早期版本不太稳定... 我解决各种问题的方法是rm -rf〜/ .julia 以便重新安装并重建所有软件包...我不知道为什么,但是可以正常工作

无论如何,julia现在是v1.1.0(在dev中,在v1.0.1中已发布) 建议升级

答案 1 :(得分:0)

您也可以尝试使用0.7版,因为此交叉版本应该与0.6和1.0代码都基本兼容