Julia Distributions package installation woes - julia

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
What's an updated version of the Julia 0.6 command Pkg.build("fvheQ"). I'm using Julia 1.1.1.
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?

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

Related

Error Using Julia Genie - How to fix Genie load error?

PS.: I've tried to google it before post, but couldn't find anything useful.
I'm using:
Julia Version 1.4.1
Genie v2.0.3
I am new to Julia language, just finished the "Introduction to julia" and started the "Get Started with Genie".
I had no problems/errors during the package installation, but when tried to use Genie, it showed the error below:
using Genie.Router
[ Info: Precompiling Genie [c43c736e-a2d1-11e8-161f-af95117fbd1e]
ERROR: LoadError: LoadError: LoadError: LoadError: UndefVarError: #invokelatest not defined
Stacktrace:
[1] #macroexpand#38 at ./expr.jl:108 [inlined]
[2] macroexpand at ./expr.jl:107 [inlined]
[3] docm(::LineNumberNode, ::Module, ::Any, ::Any, ::Bool) at ./docs/Docs.jl:523 (repeats 2 times)
[4] #doc(::LineNumberNode, ::Module, ::String, ::Vararg{Any,N} where N) at ./boot.jl:463
[5] include(::Module, ::String) at ./Base.jl:377
[6] include(::String) at /home/regis/.julia/packages/Genie/b0FAv/src/Genie.jl:4
[7] top-level scope at /home/regis/.julia/packages/Genie/b0FAv/src/Genie.jl:42
[8] include(::Module, ::String) at ./Base.jl:377
[9] top-level scope at none:2
[10] eval at ./boot.jl:331 [inlined]
[11] eval(::Expr) at ./client.jl:449
[12] top-level scope at ./none:3
in expression starting at /home/regis/.julia/packages/Genie/b0FAv/src/Commands.jl:26
in expression starting at /home/regis/.julia/packages/Genie/b0FAv/src/Commands.jl:11
in expression starting at /home/regis/.julia/packages/Genie/b0FAv/src/Commands.jl:11
in expression starting at /home/regis/.julia/packages/Genie/b0FAv/src/Genie.jl:42
ERROR: Failed to precompile Genie [c43c736e-a2d1-11e8-161f-af95117fbd1e] to /home/regis/.julia/compiled/v1.4/Genie/8eazC_3Abxq.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
[3] _require(::Base.PkgId) at ./loading.jl:1029
[4] require(::Base.PkgId) at ./loading.jl:927
[5] require(::Module, ::Symbol) at ./loading.jl:922
How to fix this error?
Is there a reason why you're using Julia 1.4.1? Your problem might just resolve itself if you update to the latest stable version of Julia (1.6.2).
update Julia to 1.6 and it should work fine. Also use Genie v3.3.0 or above. Genie is continuously involving(with new features and bug fixes) try to use latest tagged version
In Project.toml add a section
[compat]
Genie = "3.3.0"
and while in Pkg mode ]
Pkg(1.6)> up # use up to update the package
More about compatibility: https://pkgdocs.julialang.org/v1/compatibility/

LoadError: InitError: While Precompiling in new Environment

I wanted to start using dedicated environments for all my julia projects, but activating the new environment and using packages (eg. Plots.jl) results in Precompiling that fails with the following error:
Activating environment at `~/Documents/baro/Project.toml`
julia> using Plots
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]
ERROR: LoadError: InitError: could not load library "/home/marius/.julia/artifacts/08ab4b2de494e1d61e581ab1fbd610b0b4d1876f/lib/libavdevice.so"
libx264.so.157: cannot open shared object file: No such file or directory
Stacktrace:
[1] dlopen(::String, ::UInt32; throw_error::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Libdl/src/Libdl.jl:109
[2] dlopen at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
[3] __init__() at /home/marius/.julia/packages/FFMPEG_jll/tCUYA/src/wrappers/x86_64-linux-gnu.jl:231
[4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
[5] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:781
[6] _require(::Base.PkgId) at ./loading.jl:1006
[7] require(::Base.PkgId) at ./loading.jl:927
[8] require(::Module, ::Symbol) at ./loading.jl:922
[9] include(::Module, ::String) at ./Base.jl:377
[10] top-level scope at none:2
[11] eval at ./boot.jl:331 [inlined]
[12] eval(::Expr) at ./client.jl:449
[13] top-level scope at ./none:3
during initialization of module FFMPEG_jll
in expression starting at /home/marius/.julia/packages/FFMPEG/vocw2/src/FFMPEG.jl:3
ERROR: LoadError: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a] to /home/marius/.julia/compiled/v1.4/FFMPEG/TGvga_eB360.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
[3] _require(::Base.PkgId) at ./loading.jl:1029
[4] require(::Base.PkgId) at ./loading.jl:927
[5] require(::Module, ::Symbol) at ./loading.jl:922
[6] include(::Module, ::String) at ./Base.jl:377
[7] top-level scope at none:2
[8] eval at ./boot.jl:331 [inlined]
[9] eval(::Expr) at ./client.jl:449
[10] top-level scope at ./none:3
in expression starting at /home/marius/.julia/packages/Plots/LWw1t/src/Plots.jl:15
ERROR: Failed to precompile Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80] to /home/marius/.julia/compiled/v1.4/Plots/ld3vC_eB360.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
[3] _require(::Base.PkgId) at ./loading.jl:1029
[4] require(::Base.PkgId) at ./loading.jl:927
[5] require(::Module, ::Symbol) at ./loading.jl:922
This also happens for some other packages like ControlSystems.
The julia version is 1.4.2 but I was able to reproduce this error with 1.5.0 and on a different computer with 1.3.1 on it. Both systems are runnning Ubuntu 20.04 LTS.
What I tried so far was:
Rebuilding the package Pkg.build()
Check that the file supposed to load exists (it existed)
Update libx264
Deleting all packages in .julia folder and and reinstalling everything using Pkg.instantiate()
Any help to get the packages running will be greatly appreciated as I really like the idea of having dedicated environments for every project. Also on 1.3.1 even after switching to the default environment the error is still occuring.
The issue seems to lay in the FFMPEG package.
The following solved the issue for me:
Remove FFMPEG. Then delete the folder which is given in the error message. In your case: "/home/marius/.julia/artifacts/08ab4b2de494e1d61e581ab1fbd610b0b4d1876f/lib/libavdevice.so"
Then add FFPEG again which results in a change in the Manifest.toml which does not happen if you just remove FFMPEG:
Updating `~/.julia/environments/v1.3/Manifest.toml`
[1270edf5] ↓ x264_jll v2020.7.14+0 ⇒ v2019.5.25+2
Try: using FFMPEG, Plots.
I was able to precompile Plots then.

julia how to use Plots

When I try and use Plots, It errors. Please help me, how can I deal with it? I am using Julia v1.3.0 and did Pgk.add("Plots") to downloads so I don't know why I have this problem... Is the version of Julia or the Plots package wrong? (I am on macOS, is that the issue?)
using Plots
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]
ERROR: LoadError: EOFError: read end of file
Stacktrace:
[1] read(::IOStream, ::Type{Int64}) at ./iostream.jl:361
[2] parse_cache_header(::IOStream) at ./loading.jl:1334
[3] stale_cachefile(::String, ::String) at ./loading.jl:1413
[4] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:752
[5] _require(::Base.PkgId) at ./loading.jl:1001
[6] require(::Base.PkgId) at ./loading.jl:922
[7] require(::Module, ::Symbol) at ./loading.jl:917
[8] include at ./boot.jl:328 [inlined]
[9] include_relative(::Module, ::String) at ./loading.jl:1105
[10] include(::Module, ::String) at ./Base.jl:31
[11] top-level scope at none:2
[12] eval at ./boot.jl:330 [inlined]
[13] eval(::Expr) at ./client.jl:425
[14] top-level scope at ./none:3
in expression starting at /Users/owls/.julia/packages/Plots/3INZP/src/Plots.jl:11
ERROR: Failed to precompile Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80] to /Users/owls/.julia/compiled/v1.3/Plots/ld3vC_39ter.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283
[3] _require(::Base.PkgId) at ./loading.jl:1024
[4] require(::Base.PkgId) at ./loading.jl:922
[5] require(::Module, ::Symbol) at ./loading.jl:917

How use julia package "Mathematica"?

I added the Mathematica package (https://github.com/JuliaInterop/Mathematica.jl) to julia 1.3.1.
Now if I use command...
using Mathematica
I get this error:
[ Info: Precompiling Mathematica [32681abc-2ee8-5d23-a06a-fe3af83833d6]
┌ Warning: Package Mathematica does not have MathLink in its dependencies:
│ - If you have Mathematica checked out for development and have
│ added MathLink as a dependency but haven't updated your primary
│ environment's manifest file, try `Pkg.resolve()`.
│ - Otherwise you may need to report an issue with Mathematica
└ Loading MathLink into Mathematica from project dependency, future warnings for Mathematica are suppressed.
ERROR: LoadError: LoadError: UndefVarError: #mmimport not defined
Stacktrace:
[1] top-level scope
[2] eval at ./boot.jl:330 [inlined]
[3] top-level scope at /Users/murray/.julia/packages/Mathematica/W4UIg/src/Mathematica.jl:36
[4] include at ./boot.jl:328 [inlined]
[5] include_relative(::Module, ::String) at ./loading.jl:1105
[6] include(::Module, ::String) at ./Base.jl:31
[7] top-level scope at none:2
[8] eval at ./boot.jl:330 [inlined]
[9] eval(::Expr) at ./client.jl:425
[10] top-level scope at ./none:3
in expression starting at /Users/murray/.julia/packages/Mathematica/W4UIg/src/Mathematica.jl:36
in expression starting at /Users/murray/.julia/packages/Mathematica/W4UIg/src/Mathematica.jl:34
ERROR: Failed to precompile Mathematica [32681abc-2ee8-5d23-a06a-fe3af83833d6] to /Users/murray/.julia/compiled/v1.3/Mathematica/cqgUM_XJ2Lx.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283
[3] _require(::Base.PkgId) at ./loading.jl:1024
[4] require(::Base.PkgId) at ./loading.jl:922
[5] require(::Module, ::Symbol) at ./loading.jl:917
How do I correct this?
Per Chris’s comment, the suggestion is to use MathLink.jl. I talked to the package maintainer for Mathematica and added to deprecation warning to the readme as to avoid future issues.

julia JuMP with v0.7

I tried building JuMP after compiling v0.7 but am getting errors:
ERROR: LoadError: Failed to precompile ReverseDiffSparse to /Users/MYUSER/.julia/lib/v0.7/ReverseDiffSparse.ji.
Stacktrace:
[1] error at ./error.jl:33 [inlined]
[2] compilecache(::Base.PkgId) at ./loading.jl:1208
[3] _require(::Base.PkgId) at ./loading.jl:974
[4] require(::Module, ::Symbol) at ./loading.jl:874
[5] include at ./boot.jl:295 [inlined]
[6] include_relative(::Module, ::String) at ./loading.jl:1067
[7] include(::Module, ::String) at ./sysimg.jl:26
[8] top-level scope
[9] eval at ./boot.jl:298 [inlined]
[10] top-level scope at ./<missing>:3
in expression starting at /Users/MYUSER/.julia/v0.7/JuMP/src/JuMP.jl:21
ERROR: Failed to precompile JuMP to /Users/MYUSER/.julia/lib/v0.7/JuMP.ji.
Stacktrace:
[1] error at ./error.jl:33 [inlined]
[2] compilecache(::Base.PkgId) at ./loading.jl:1208
[3] _require(::Base.PkgId) at ./loading.jl:1003
[4] require(::Module, ::Symbol) at ./loading.jl:874
How do I interpret these / how can I build JuMP for the latest version 0.7?
If you look at the original error message you'll probably see that StaticArrays (one of JuMP's indirect dependencies) does not load on 0.7. Anyway Julia 0.7 is in a pre-alpha state; there are no tagged prereleases of it yet as of today. It has lots of cool features, but I'd only recommend using it at this point if you're comfortable fixing broken packages and deprecation warnings.

Resources