MakieOrg / Makie.jl

Interactive data visualizations and plotting in Julia
https://docs.makie.org/stable
MIT License
2.4k stars 306 forks source link

test Makie fails with `MethodError: no method matching backend_show` #320

Closed Oblynx closed 5 years ago

Oblynx commented 5 years ago

On Julia Version 1.1.0 (2019-01-21) test Makie fails with error

LoadError: MethodError: no method matching backend_show(
    ::Missing, ::IOContext{IOStream}, ::MIME{Symbol("image/jpeg")}, ::Scene)

Full output of test Makie:

(v1.1) pkg> test Makie
   Testing Makie
 Resolving package versions...
    Status `/tmp/tmpay7B7i/Manifest.toml`
  [621f4979] AbstractFFTs v0.3.2
  [537997a7] AbstractPlotting v0.9.6
  [7d9fca2a] Arpack v0.3.0
  [13072b0f] AxisAlgorithms v0.3.0
  [39de3d68] AxisArrays v0.3.0
  [9e28174c] BinDeps v0.8.10
  [b99e7846] BinaryProvider v0.5.3
  [631607c0] CMake v1.1.1
  [d5fb7624] CMakeWrapper v0.2.2
  [336ed68f] CSV v0.4.3
  [49dc2e85] Calculus v0.4.1
  [aafaddc9] CatIndices v0.2.0
  [324d7699] CategoricalArrays v0.5.2
  [944b1d66] CodecZlib v0.5.2
  [a2cac450] ColorBrewer v0.4.0
  [35d6a980] ColorSchemes v3.1.0
  [3da002f7] ColorTypes v0.7.5
  [c3611d14] ColorVectorSpace v0.6.2
  [5ae59095] Colors v0.9.5
  [861a8166] Combinatorics v0.7.0
  [bbf7d656] CommonSubexpressions v0.2.0
  [34da2185] Compat v2.0.0
  [ed09eef8] ComputationalResources v0.3.0
  [8f4d0f93] Conda v1.2.0
  [d38c429a] Contour v0.5.1
  [150eb455] CoordinateTransformations v0.5.0
  [dc8bdbbb] CustomUnitRanges v0.2.0
  [a93c6f00] DataFrames v0.17.1
  [9a8bc11e] DataStreams v0.4.1
  [864edb3b] DataStructures v0.15.0
  [01453d9d] DiffEqDiffTools v0.8.1
  [163ba53b] DiffResults v0.0.4
  [b552c78f] DiffRules v0.0.10
  [b4f34e82] Distances v0.8.0
  [31c24e10] Distributions v0.16.4
  [ffbed154] DocStringExtensions v0.7.0
  [e30172f5] Documenter v0.21.5
  [8f5d6c58] EzXML v0.9.1
  [4f61f5a4] FFTViews v0.2.0
  [7a1cc6ca] FFTW v0.2.4
  [5789e2e9] FileIO v1.0.5
  [53c48c17] FixedPointNumbers v0.5.3
  [f6369f11] ForwardDiff v0.10.3
  [b38be410] FreeType v2.1.1
  [663a7486] FreeTypeAbstraction v0.4.2
  [da1fdf0e] FreqTables v0.3.1
  [add2ef01] GDAL v0.2.0
  [f7f18e0c] GLFW v2.3.0
  [e9467ef8] GLMakie v0.0.5
  [4d00f742] GeometryTypes v0.7.3
  [a2bd30eb] Graphics v0.4.0
  [d9be37ee] Homebrew v0.7.1
  [bbac6d45] IdentityRanges v0.3.0
  [2803e5a7] ImageAxes v0.5.0
  [a09fc81d] ImageCore v0.7.4
  [6a3955dd] ImageFiltering v0.5.4
  [6218d12a] ImageMagick v0.7.1
  [02fcd773] ImageTransformations v0.7.2
  [9b13fd28] IndirectArrays v0.5.0
  [a98d9a8b] Interpolations v0.11.2
  [8197267c] IntervalSets v0.3.1
  [c8e1da08] IterTools v1.1.1
  [82899510] IteratorInterfaceExtensions v0.1.1
  [682c06a0] JSON v0.20.0
  [5ab0869b] KernelDensity v0.5.1
  [d3d80556] LineSearches v7.0.1
  [4345ca2d] Loess v0.5.0
  [1914dd2f] MacroTools v0.4.5
  [ee78f7c6] Makie v0.9.3
  [dbd62bd0] MakieGallery v0.0.6
  [dbb5928d] MappedArrays v0.2.1
  [7269a6da] MeshIO v0.3.1
  [e1d29d7a] Missings v0.4.0
  [78c3b35d] Mocking v0.5.7
  [66fc600b] ModernGL v1.0.0
  [d41bc354] NLSolversBase v7.3.1
  [77ba4419] NaNMath v0.3.2
  [86f7a689] NamedArrays v0.9.2
  [4d1e1d77] Nullables v0.0.8
  [510215fc] Observables v0.2.3
  [6fe1bfb0] OffsetArrays v0.10.0
  [429524aa] Optim v0.17.2
  [bac558e1] OrderedCollections v1.0.2
  [90014a1f] PDMats v0.9.6
  [19eb6ba3] Packing v0.3.0
  [5432bcbf] PaddedViews v0.4.2
  [d96e819e] Parameters v0.10.3
  [69de0a69] Parsers v0.2.20
  [995b91a9] PlotUtils v0.5.5
  [f27b6e38] Polynomials v0.5.2
  [85a6dd25] PositiveFactorizations v0.2.1
  [27ebfcd6] Primes v0.4.0
  [1fd47b50] QuadGK v2.0.3
  [dca85d43] QuartzImageIO v0.5.2
  [df47a6cb] RData v0.6.0
  [ce6b1742] RDatasets v0.6.1
  [b3c3ace0] RangeArrays v0.3.1
  [c84ed2f1] Ratios v0.3.1
  [189a3867] Reexport v0.2.0
  [ae029012] Requires v0.5.2
  [79098fc4] Rmath v0.5.0
  [6038ab10] Rotations v0.11.1
  [992d4aef] Showoff v0.2.1
  [73760f76] SignedDistanceFields v0.4.0
  [699a6c99] SimpleTraits v0.8.0
  [a2af1166] SortingAlgorithms v0.3.1
  [276daf66] SpecialFunctions v0.7.2
  [90137ffa] StaticArrays v0.10.3
  [2913bbd2] StatsBase v0.29.0
  [4c63d2b9] StatsFuns v0.8.0
  [65254759] StatsMakie v0.0.3
  [09ab397b] StructArrays v0.2.1
  [3783bdb8] TableTraits v0.4.1
  [bd369af6] Tables v0.1.18
  [06e1c1a7] TiledIteration v0.2.3
  [f269a46b] TimeZones v0.8.5
  [3bb67fe8] TranscodingStreams v0.9.2
  [30578b45] URIParser v0.4.0
  [1cfade01] UnicodeFun v0.4.0
  [81def892] VersionParsing v1.1.3
  [ea10d353] WeakRefStrings v0.5.8
  [cc8bc4a8] Widgets v0.5.0
  [efce3f68] WoodburyMatrices v0.4.1
  [a5390f91] ZipFile v0.8.0
  [2a0f44e3] Base64  [`@stdlib/Base64`]
  [ade2ca70] Dates  [`@stdlib/Dates`]
  [8bb1440f] DelimitedFiles  [`@stdlib/DelimitedFiles`]
  [8ba89e20] Distributed  [`@stdlib/Distributed`]
  [9fa8497b] Future  [`@stdlib/Future`]
  [b77e0a4c] InteractiveUtils  [`@stdlib/InteractiveUtils`]
  [76f85450] LibGit2  [`@stdlib/LibGit2`]
  [8f399da3] Libdl  [`@stdlib/Libdl`]
  [37e2e46d] LinearAlgebra  [`@stdlib/LinearAlgebra`]
  [56ddb016] Logging  [`@stdlib/Logging`]
  [d6f4376e] Markdown  [`@stdlib/Markdown`]
  [a63ad114] Mmap  [`@stdlib/Mmap`]
  [44cfe95a] Pkg  [`@stdlib/Pkg`]
  [de0858da] Printf  [`@stdlib/Printf`]
  [9abbd945] Profile  [`@stdlib/Profile`]
  [3fa0cd96] REPL  [`@stdlib/REPL`]
  [9a3f8284] Random  [`@stdlib/Random`]
  [ea8e919c] SHA  [`@stdlib/SHA`]
  [9e88b42a] Serialization  [`@stdlib/Serialization`]
  [1a1011a3] SharedArrays  [`@stdlib/SharedArrays`]
  [6462fe0b] Sockets  [`@stdlib/Sockets`]
  [2f01184e] SparseArrays  [`@stdlib/SparseArrays`]
  [10745b16] Statistics  [`@stdlib/Statistics`]
  [4607b0f0] SuiteSparse  [`@stdlib/SuiteSparse`]
  [8dfed614] Test  [`@stdlib/Test`]
  [cf7118a7] UUIDs  [`@stdlib/UUIDs`]
  [4ec0a83e] Unicode  [`@stdlib/Unicode`]
WARNING: using Makie.AbstractPlotting in module Main conflicts with an existing identifier.
[ Info: starting from index 1
running tutorial_simple_scatter
/home/oblivion/.julia/packages/Makie/ogxgz/test/test_recordings/tutorial_simple_scatter/media/image.jpg
ERROR: LoadError: MethodError: no method matching backend_show(::Missing, ::IOContext{IOStream}, ::MIME{Symbol("image/jpeg")}, ::Scene)
Closest candidates are:
  backend_show(::Any, ::IO, ::MIME{Symbol("text/plain")}, ::Scene) at /home/oblivion/.julia/packages/AbstractPlotting/NOT5R/src/display.jl:72
  backend_show(::Any, ::IO, ::MIME{Symbol("text/plain")}, ::Combined) at /home/oblivion/.julia/packages/AbstractPlotting/NOT5R/src/display.jl:89
Stacktrace:
 [1] show(::IOContext{IOStream}, ::MIME{Symbol("image/jpeg")}, ::Scene) at /home/oblivion/.julia/packages/AbstractPlotting/NOT5R/src/display.jl:62
 [2] (::getfield(AbstractPlotting, Symbol("##694#695")){FileIO.DataFormat{:JPEG},Scene})(::IOStream) at /home/oblivion/.julia/packages/AbstractPlotting/NOT5R/src/display.jl:141
 [3] #open#310(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::getfield(AbstractPlotting, Symbol("##694#695")){FileIO.DataFormat{:JPEG},Scene}, ::String, ::Vararg{String,N} where N) at ./iostream.jl:369
 [4] open(::Function, ::String, ::String) at ./iostream.jl:367
 [5] #save#693(::Tuple{Int64,Int64}, ::Function, ::FileIO.File{FileIO.DataFormat{:JPEG}}, ::Scene) at /home/oblivion/.julia/packages/AbstractPlotting/NOT5R/src/display.jl:140
 [6] save(::FileIO.File{FileIO.DataFormat{:JPEG}}, ::Scene) at /home/oblivion/.julia/packages/AbstractPlotting/NOT5R/src/display.jl:136
 [7] #save#15(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::String, ::Scene) at /home/oblivion/.julia/packages/FileIO/YJO7Z/src/loadsave.jl:118
 [8] save at /home/oblivion/.julia/packages/FileIO/YJO7Z/src/loadsave.jl:118 [inlined]
 [9] save_media at /home/oblivion/.julia/packages/MakieGallery/Zh28t/src/io.jl:3 [inlined]
 [10] (::getfield(MakieGallery, Symbol("##99#101")){Tuple{Int64,Int64},String})(::MakieGallery.CellEntry, ::Scene) at /home/oblivion/.julia/packages/MakieGallery/Zh28t/src/io.jl:221
 [11] (::getfield(MakieGallery, Symbol("##78#79")){Base.Iterators.Pairs{Symbol,getfield(MakieGallery, Symbol("#output_path#100")){String},Tuple{Symbol},NamedTuple{(:outputfile,),Tuple{getfield(MakieGallery, Symbol("#output_path#100")){String}}}},getfield(MakieGallery, Symbol("##99#101")){Tuple{Int64,Int64},String}})(::MakieGallery.CellEntry) at /home/oblivion/.julia/packages/MakieGallery/Zh28t/src/database.jl:551
 [12] #enumerate_examples#61(::Int64, ::Nothing, ::Function, ::getfield(MakieGallery, Symbol("##78#79")){Base.Iterators.Pairs{Symbol,getfield(MakieGallery, Symbol("#output_path#100")){String},Tuple{Symbol},NamedTuple{(:outputfile,),Tuple{getfield(MakieGallery, Symbol("#output_path#100")){String}}}},getfield(MakieGallery, Symbol("##99#101")){Tuple{Int64,Int64},String}}) at /home/oblivion/.julia/packages/MakieGallery/Zh28t/src/database.jl:498
 [13] #enumerate_examples at ./none:0 [inlined]
 [14] #eval_examples#77 at /home/oblivion/.julia/packages/MakieGallery/Zh28t/src/database.jl:549 [inlined]
 [15] #eval_examples at ./none:0 [inlined]
 [16] #record_examples#98(::Tuple{Int64,Int64}, ::Bool, ::Bool, ::Function, ::String) at /home/oblivion/.julia/packages/MakieGallery/Zh28t/src/io.jl:215
 [17] record_examples(::String) at /home/oblivion/.julia/packages/MakieGallery/Zh28t/src/io.jl:198
 [18] top-level scope at none:0
 [19] include at ./boot.jl:326 [inlined]
 [20] include_relative(::Module, ::String) at ./loading.jl:1038
 [21] include(::Module, ::String) at ./sysimg.jl:29
 [22] include(::String) at ./client.jl:403
 [23] top-level scope at none:0
in expression starting at /home/oblivion/.julia/packages/Makie/ogxgz/test/runtests.jl:12
ERROR: Package Makie errored during testing
Oblynx commented 5 years ago

This is on linux with xorg graphics.

Also, at the REPL Scene() produces output and no error, but creates no window:

julia> Scene()
Scene (960px, 540px):
events:
    window_area: GeometryTypes.HyperRectangle{2,Int64}([0, 0], [0, 0])
    window_dpi: 100.0
    window_open: false
    mousebuttons: Set(AbstractPlotting.Mouse.Button[])
    mouseposition: (0.0, 0.0)
    mousedrag: notpressed
    scroll: (0.0, 0.0)
    keyboardbuttons: Set(AbstractPlotting.Keyboard.Button[])
    unicode_input: Char[]
    dropped_files: String[]
    hasfocus: false
    entered_window: false
plots:
subscenes:
asinghvi17 commented 5 years ago

Can you paste the output of ]build GLMakie?

Oblynx commented 5 years ago

I paste it below for completeness, but I'm glad to admit that after building GLMakie, test Makie runs past the error! I will post again whether it runs to completion.

I didn't see a requirement to ]build GLMakie in the install docs, so we should probably add this. Is it just a matter of adding a line to the docs?

(v1.1) pkg> build GLMakie
  Building FreeType ────────→ `~/.julia/packages/FreeType/2dE5w/deps/build.log`
  Building SpecialFunctions → `~/.julia/packages/SpecialFunctions/fvheQ/deps/build.log`
  Building Conda ───────────→ `~/.julia/packages/Conda/CpuvI/deps/build.log`
  Building FFTW ────────────→ `~/.julia/packages/FFTW/p7sLQ/deps/build.log`
  Building ImageMagick ─────→ `~/.julia/packages/ImageMagick/d5KBL/deps/build.log`
  Building Homebrew ────────→ `~/.julia/packages/Homebrew/s09IX/deps/build.log`
  Building CMake ───────────→ `~/.julia/packages/CMake/ZGawK/deps/build.log`
  Building GLFW ────────────→ `~/.julia/packages/GLFW/69NQ7/deps/build.log`
  Building GLMakie ─────────→ `~/.julia/packages/GLMakie/nDrlO/deps/build.log`
asinghvi17 commented 5 years ago

GLMakie should build when Makie is building...it seems like it built incorrectly the first time and wasn't registered as an available backend.

Oblynx commented 5 years ago

All tests passed, closing. @asinghvi17 Maybe open a new issue to report GLMakie not being available as an error?

Test Summary:         | Pass  Total
Reference Image Tests |  185    185
   Testing Makie tests passed 
Oblynx commented 5 years ago

thank you!