2
votes

I wish to use the Distributions package in Julia, but can't get to first base. This is what happens when I try adding and using the package:

(v1.1) pkg> add Distributions
  Updating registry at `C:\Users\Philip\.julia\registries\General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
  Updating `C:\Users\Philip\.julia\environments\v1.1\Project.toml`
 [no changes]
  Updating `C:\Users\Philip\.julia\environments\v1.1\Manifest.toml`
 [no changes]

julia> using Distributions
[ Info: Precompiling Distributions [31c24e10-a181-5473-b8eb-7969acd0382f]
ERROR: LoadError: InitError: C:\Users\Philip\.julia\packages\SpecialFunctions\fvheQ\deps\usr\bin\libopenspecfun.dll cannot be opened, Please re-run Pkg.build("fvheQ"), and restart Julia.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] check_deps() at C:\Users\Philip\.julia\packages\SpecialFunctions\fvheQ\deps\deps.jl:20
 [3] __init__() at C:\Users\Philip\.julia\packages\SpecialFunctions\fvheQ\src\SpecialFunctions.jl:12
 [4] _include_from_serialized(::String, ::Array{Any,1}) at .\loading.jl:633
 [5] _require_search_from_serialized(::Base.PkgId, ::String) at .\loading.jl:713
 [6] _require(::Base.PkgId) at .\loading.jl:937
 [7] require(::Base.PkgId) at .\loading.jl:858
 [8] require(::Module, ::Symbol) at .\loading.jl:853
 [9] include at .\boot.jl:326 [inlined]
 [10] include_relative(::Module, ::String) at .\loading.jl:1038
 [11] include(::Module, ::String) at .\sysimg.jl:29
 [12] top-level scope at none:2
 [13] eval at .\boot.jl:328 [inlined]
 [14] eval(::Expr) at .\client.jl:404
 [15] top-level scope at .\none:3
during initialization of module SpecialFunctions
in expression starting at C:\Users\Philip\.julia\packages\StatsFuns\2QE7p\src\StatsFuns.jl:6
ERROR: LoadError: Failed to precompile StatsFuns [4c63d2b9-4356-54db-8cca-17b64c39e42c] to C:\Users\Philip\.julia\compiled\v1.1\StatsFuns\530lR.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1197
 [3] _require(::Base.PkgId) at .\loading.jl:960
 [4] require(::Base.PkgId) at .\loading.jl:858
 [5] require(::Module, ::Symbol) at .\loading.jl:853
 [6] include at .\boot.jl:326 [inlined]
 [7] include_relative(::Module, ::String) at .\loading.jl:1038
 [8] include(::Module, ::String) at .\sysimg.jl:29
 [9] top-level scope at none:2
 [10] eval at .\boot.jl:328 [inlined]
 [11] eval(::Expr) at .\client.jl:404
 [12] top-level scope at .\none:3
in expression starting at C:\Users\Philip\.julia\packages\Distributions\tfkz4\src\Distributions.jl:3
ERROR: Failed to precompile Distributions [31c24e10-a181-5473-b8eb-7969acd0382f] to C:\Users\Philip\.julia\compiled\v1.1\Distributions\xILW0.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1197
 [3] _require(::Base.PkgId) at .\loading.jl:960
 [4] require(::Base.PkgId) at .\loading.jl:858
 [5] require(::Module, ::Symbol) at .\loading.jl:853

So something's gone wrong and the first line of the error message asks me to Please re-run Pkg.build("fvheQ"), and restart Julia but I think that syntax is for Julia 0.6, prior to the re-vamped Pkg REPL.

Questions

  1. What's an updated version of the Julia 0.6 command Pkg.build("fvheQ"). I'm using Julia 1.1.1.
  2. So far I've always found adding packages worked smoothly in Julia. If it's not too broad a question, what's a good strategy to resolve package installation problems like this?
1

1 Answers

2
votes

That's a bug in the error printing. You actually want to run Pkg.build("SpecialFunctions") , which should redownload the shared library libopenspecfun.