Using Makie on Ubuntu 18.04

I’m running with 1.5.1 and am not having much luck following the “quick start” instructions in the README for Makie.jl (“add Makie; test Makie”). I started off with a clean environment and added Makie.jl to it. After the first round of warnings and errors, I also added MakieGallery and GLMakie. At that point I was at least able to sort of run the Makie unit tests. All of them failed. Here’s the tale of woe from the first unit test:

┌ Warning: Loaded OpenGL Backend, but OpenGL isn’t working
└ @ GLMakie ~/.julia/packages/GLMakie/4EXKe/src/GLMakie.jl:73
┌ Warning: Loaded OpenGL Backend, but OpenGL isn’t working
└ @ GLMakie ~/.julia/packages/GLMakie/4EXKe/src/GLMakie.jl:73
[ Info: It is normal for the Makie window to not appear during tests
[ Info: starting from index 1
Running tutorial_simple_scatter
┌ Warning: Error thrown when evaluating Tutorial simple scatter
│ exception =
│ MethodError: no method matching backend_show(::Missing, ::IOContext{IOStream}, ::MIME{Symbol(“image/png”)}, ::Scene)
│ Closest candidates are:
│ backend_show(::Any, ::IO, ::MIME{Symbol(“text/plain”)}, ::Scene) at /home/jov9025/.julia/packages/AbstractPlotting/rWfRe/src/display.jl:118
│ show(::IOContext{IOStream}, ::MIME{Symbol(“image/png”)}, ::Scene) at /home/jov9025/.julia/packages/AbstractPlotting/rWfRe/src/display.jl:94
│ (::AbstractPlotting.var"#839#840"{Scene,DataType,Base.Iterators.Pairs{Symbol,Real,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:full_fidelity, :pt_per_unit, :px_per_unit),Tuple{Bool,Float64,Float64}}}})(::IOStream) at /home/jov9025/.julia/packages/AbstractPlotting/rWfRe/src/display.jl:276
│ open(::AbstractPlotting.var"#839#840"{Scene,DataType,Base.Iterators.Pairs{Symbol,Real,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:full_fidelity, :pt_per_unit, :px_per_unit),Tuple{Bool,Float64,Float64}}}}, ::String, ::Vararg{String,N} where N; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at ./io.jl:325
│ open(::Function, ::String, ::String) at ./io.jl:323
│ save(::FileIO.File{FileIO.DataFormat{:PNG}}, ::Scene; resolution::Tuple{Int64,Int64}, pt_per_unit::Float64, px_per_unit::Float64) at /home/jov9025/.julia/packages/AbstractPlotting/rWfRe/src/display.jl:275
│ save at /home/jov9025/.julia/packages/AbstractPlotting/rWfRe/src/display.jl:260 [inlined]
│ save_media at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/io.jl:19 [inlined]
│ macro expansion at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/io.jl:297 [inlined]
│ macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1115 [inlined]
│ (::MakieGallery.var"#135#138"{Tuple{Int64,Int64},Bool,String,Array{Any,1}})(::MakieGallery.CellEntry, ::Scene) at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/io.jl:293
│ (::MakieGallery.var"#95#96"{Bool,Base.Iterators.Pairs{Symbol,MakieGallery.var"#output_path#137"{String},Tuple{Symbol},NamedTuple{(:outputfile,),Tuple{MakieGallery.var"#output_path#137"{String}}}},MakieGallery.var"#135#138"{Tuple{Int64,Int64},Bool,String,Array{Any,1}}})(::MakieGallery.CellEntry) at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/database.jl:614
│ enumerate_examples(::MakieGallery.var"#95#96"{Bool,Base.Iterators.Pairs{Symbol,MakieGallery.var"#output_path#137"{String},Tuple{Symbol},NamedTuple{(:outputfile,),Tuple{MakieGallery.var"#output_path#137"{String}}}},MakieGallery.var"#135#138"{Tuple{Int64,Int64},Bool,String,Array{Any,1}}}; start::Int64, exclude_tags::Nothing) at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/database.jl:539
#eval_examples#94 at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/database.jl:611 [inlined]
│ macro expansion at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/io.jl:290 [inlined]
│ macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1115 [inlined]
│ record_examples(::String; resolution::Tuple{Int64,Int64}, resume::Bool, generate_thumbnail::Bool, display::Bool, display_output_toplevel::Bool) at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/io.jl:290
│ record_examples(::String) at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/io.jl:273
│ top-level scope at /home/jov9025/.julia/packages/Makie/JLzLy/test/runtests.jl:14
│ include(::String) at ./client.jl:457
│ top-level scope at none:6
│ eval(::Module, ::Any) at ./boot.jl:331
│ exec_options(::Base.JLOptions) at ./client.jl:272
│ _start() at ./client.jl:506
└ @ MakieGallery ~/.julia/packages/MakieGallery/V0mvg/src/io.jl:308
Tutorial simple scatter: Test Failed at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/io.jl:309
Expression: false
Stacktrace:
[1] macro expansion at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/io.jl:309 [inlined]
[2] macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1115 [inlined]
[3] (::MakieGallery.var"#135#138"{Tuple{Int64,Int64},Bool,String,Array{Any,1}})(::MakieGallery.CellEntry, ::Scene) at /home/jov9025/.julia/packages/MakieGallery/V0mvg/src/io.jl:293

Warning: Loaded OpenGL Backend, but OpenGL isn’t working

This one is important…
Try:

using GLFW; GLFW.Window()

To see what’s happening - there are a few issues in GLFW.jl you may want to look at depending on the error.
Makie went through a few iterations of moving around the test infrastructure - and docs for testing didn’t get updated yet.
What you need to run to test GLMakie is:

rm Makie MakieGallery; add GLMakie; test GLMakie

MakieGallery is deprecated (it formed a nasty circular dependency with AbstractPlotting), and by now, it’s preferred to simply use the backend instead of Makie (they exports everything Makie exports).

Thank you! I’ll try out your suggestions.

I have same the same error.

Warning: Loaded OpenGL Backend, but OpenGL isn’t working

Followed all the above including removing old AbstractPlotting and Makie folders not in the Manifest or Project.toml files and checking they were not found by doing rm Makie and rm AbstractPlotting first. Running test GLMakie returned pages of errors culminating in:

ERROR: LoadError: Some tests did not pass: 0 passed, 201 failed, 0 errored, 0 broken.
in expression starting at /home/rogerp/.julia/packages/GLMakie/4MhfU/test/runtests.jl:12
ERROR: Package GLMakie errored during testing

However, I think my problem is the fact that I am using Radeon X580 graphics. But Gtk is fine as is everything else outside of Julia.

Error: Pkg.Resolve.ResolverError("Unsatisfiable requirements detected for package MakieGallery [dbd62bd0]:\n MakieGallery [dbd62bd0] log:\n ├─possible versions are: [0.0.1-0.0.9, 0.1.0-0.1.11, 0.2.0-0.2.17] or uninstalled\n ├─restricted to versions 0.2.1-0.2 by an explicit requirement, leaving only versions 0.2.1-0.2.17\n ├─restricted by compatibility requirements with AbstractPlotting [537997a7] to versions: 0.2.0-0.2.6 or uninstalled, leaving only versions: 0.2.1-0.2.6\n │ └─AbstractPlotting [537997a7] log:\n │   ├─possible versions are: [0.9.0-0.9.27, 0.10.0-0.10.11, 0.11.0-0.11.2, 0.12.0-0.12.18, 0.13.0-0.13.11, 0.14.0-0.14.4, 0.15.0-0.15.8] or uninstalled\n │   └─restricted to versions 0.10.6 by an explicit requirement, leaving only versions 0.10.6\n └─restricted by compatibility requirements with FixedPointNumbers [53c48c17] to versions: [0.0.8-0.0.9, 0.1.0-0.1.7] or uninstalled — no versions left\n   └─FixedPointNumbers [53c48c17] log:\n     ├─possible versions are: [0.5.0-0.5.3, 0.6.0-0.6.1, 0.7.0-0.7.1, 0.8.0-0.8.4] or uninstalled\n     └─restricted to versions 0.6.1 by an explicit requirement, leaving only versions 0.6.1", nothing)
julia> versioninfo()
Julia Version 1.5.3
Commit 788b2c77c1 (2020-11-09 13:37 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7 CPU         980  @ 3.33GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, westmere)
Environment:
  JULIA_EDITOR = code

I also get the old: ERROR: UndefVarError: Figure not defined but I have had that for ever. If this constitutes going off topic please accept my apologies.