Is there a list of Plot packages that are confirmed as working with Julia 1.0? I’ve seen Gadfly isn’t there yet, which is unfortunate as I wanted to start learning Julia through using that one.
Plots, GR, PyPlot, PgfPlotsX definitely work. PlotlyJS and Makie are very close. (Edit: removed VegaLite which isn’t ready).
I think VegaLite is not quite ready yet, at least for me latest tag and master throw errors upon precompiling on 1.0.
Oh, sorry, I don’t use that myself I just thought I read that.
GMT.jl is also a plotting package and works on v0.7
As mentioned elsewhere on Discourse (List of working packages on v. 1.0 - #62 by tobias.knopp), it would be nice if this sort of info was right there on the entry page for Julia lang.
When I try to use GR I get:
(v1.0) pkg> build GR
Building GR → `~/.julia/packages/GR/rnUaj/deps/build.log`
┌ Error: Error building `GR`:
│ ERROR: LoadError: ArgumentError: Package Pkg not found in current path:
│ - Run `Pkg.add("Pkg")` to install the Pkg package.
│
│ Stacktrace:
│ [1] require(::Module, ::Symbol) at ./loading.jl:817
│ [2] include at ./boot.jl:317 [inlined]
│ [3] include_relative(::Module, ::String) at ./loading.jl:1038
│ [4] include at ./sysimg.jl:29 [inlined]
│ [5] include_ifexists at ./client.jl:191 [inlined]
│ [6] load_julia_startup() at ./client.jl:288
│ [7] exec_options(::Base.JLOptions) at ./logging.jl:312
│ [8] _start() at ./client.jl:421
│ in expression starting at /home/js/.julia/config/startup.jl:1
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068
and when I just use Plots:
julia> using Plots
julia> plot( cumsum(rand(10)))
ERROR: error compiling _plot!: error compiling _display: could not load library "libGR.so"
libGR.so: cannot open shared object file: No such file or directory
Stacktrace:
[1] #plot#136(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Array{Float64,1}) at /home/js/.julia/packages/Plots/ex9On/src/plot.jl:57
[2] plot(::Array{Float64,1}) at /home/js/.julia/packages/Plots/ex9On/src/plot.jl:51
[3] top-level scope at none:0
The Plots issue you see is because your GR wasn’t built. That GR looks quite strange, though. Could you try ENV["GRDIR"]="";Pkg.build("GR")
after updating your packages to the newest version?
Result:
Building GR → `~/.julia/packages/GR/Oatug/deps/build.log`
┌ Error: Error building `GR`:
│ ERROR: LoadError: ArgumentError: Package Pkg not found in current path:
│ - Run `Pkg.add("Pkg")` to install the Pkg package.
│
│ Stacktrace:
│ [1] require(::Module, ::Symbol) at ./loading.jl:817
│ [2] include at ./boot.jl:317 [inlined]
│ [3] include_relative(::Module, ::String) at ./loading.jl:1038
│ [4] include at ./sysimg.jl:29 [inlined]
│ [5] include_ifexists at ./client.jl:191 [inlined]
│ [6] load_julia_startup() at ./client.jl:288
│ [7] exec_options(::Base.JLOptions) at ./logging.jl:312
│ [8] _start() at ./client.jl:421
│ in expression starting at /home/js/.julia/config/startup.jl:1
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068
Your best bet is to open an issue on GR (provided your other packages are building - it looks almost like your whole julia install is having trouble). It works perfectly on my 1.0
Maybe I a will file a bug. I could successfully build CSVFiles as a test.
I also tried
Version 1.1.0-DEV.72 (2018-08-20)
with the same result.
It works well in 0.6.4 though.
Thanks for your attention.
cc @jheinen
btw: Looks like Gadfly/Compose is approaching 1.0 soon:
https://github.com/GiovineItalia/Gadfly.jl/pull/1189
https://github.com/GiovineItalia/Compose.jl/pull/282
You have to temporarily disable/remove your startup file. This is not a problem of GR. There were other users having the same problem (with other packages), too.
Thanks. That helped.
But after Pkg.up GR was updated. Pkg.build (after a few tries) did not result in errors but:
julia> using Plots
julia> plot( cumsum(rand(10)))
ERROR: error compiling _plot!: error compiling _display: could not load library "libGR.so"
libGR.so: cannot open shared object file: No such file or directory
Stacktrace:
[1] #plot#136(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Array{Float64,1}) at /home/js/.julia/packages/Plots/ex9On/src/plot.jl:57
[2] plot(::Array{Float64,1}) at /home/js/.julia/packages/Plots/ex9On/src/plot.jl:51
[3] top-level scope at none:0
Regards
Johann
Please download the latest run-time (for your platform) using
ENV["GRDIR"] = ""
Pkg.build("GR")
I still have no idea, why the latter is required on some system - there were several users complaining about that, but the above step should fix the problem …
Sorry, this is from a binary newly unpacked from the tar.gz I downloaded from julialang.org:
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.0.0 (2018-08-08)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia> ENV["GRDIR"] = ""
""
julia> using Pkg
julia> Pkg.build("GR")
Building GR → `~/.julia/packages/GR/5E5fX/deps/build.log`
┌ Error: Error building `GR`:
│ ERROR: LoadError: failed process: Process(`grep ^ID_LIKE=`, ProcessExited(1)) [1]
│ Stacktrace:
│ [1] error(::String, ::Base.Process, ::String, ::Int64, ::String) at ./error.jl:42
│ [2] pipeline_error at ./process.jl:695 [inlined]
│ [3] pipeline_error(::Base.ProcessChain) at ./process.jl:708
│ [4] read(::Base.OrCmds) at ./process.jl:631
│ [5] get_os_release(::String) at /home/js/.julia/packages/GR/5E5fX/deps/build.jl:37
│ [6] top-level scope at /home/js/.julia/packages/GR/5E5fX/deps/build.jl:60
│ [7] include at ./boot.jl:317 [inlined]
│ [8] include_relative(::Module, ::String) at ./loading.jl:1038
│ [9] include(::Module, ::String) at ./sysimg.jl:29
│ [10] include(::String) at ./client.jl:388
│ [11] top-level scope at none:0
│ in expression starting at /home/js/.julia/packages/GR/5E5fX/deps/build.jl:45
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068
It is not urgent for me, but might be worth while for the developers taking note of it.
Regards
Johann
Thanks for the hint. I added a check for missing keys in /etc/os-release
. The problem should no longer exist.
VegaLite.jl should now work.