Makie.jl icon indicating copy to clipboard operation
Makie.jl copied to clipboard

key :colormap not found

Open pdeffebach opened this issue 3 years ago • 7 comments

GLMakie errors due to the stacktrace below:

Package versions:

  [cbdf2221] AlgebraOfGraphics v0.6.9
  [336ed68f] CSV v0.10.4
  [a93c6f00] DataFrames v1.3.4
  [1313f7d8] DataFramesMeta v0.12.0
  [e9467ef8] GLMakie v0.6.9
  [4c0ca9eb] Gtk v1.2.1
  [52522f7a] ReadStatTables v0.1.1
julia> using  AlgebraOfGraphics, CSV, DataFrames,
       DataFramesMeta, GLMakie
[ Info: Precompiling GLMakie [e9467ef8-e4e7-5192-8a1a-b1aee30e663a]
ERROR: LoadError: KeyError: key :colormap not found
Stacktrace:
  [1] getindex(h::Dict{Symbol, Observables.Observable}, key::Symbol)
    @ Base ./dict.jl:481
  [2] getindex
    @ ~/.julia/packages/MakieCore/8YGMv/src/attributes.jl:96 [inlined]
  [3] getindex(x::MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}, key::Symbol)
    @ MakieCore ~/.julia/packages/MakieCore/8YGMv/src/attributes.jl:192
  [4] getproperty
    @ ~/.julia/packages/MakieCore/8YGMv/src/attributes.jl:83 [inlined]
  [5] lift_convert_inner(value::Observables.Observable{Any}, #unused#::MakieCore.Key{:highclip}, plot_key::MakieCore.Key{:mesh}, plot::MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}})
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:169
  [6] lift_convert(key::Symbol, value::Observables.Observable{Any}, plot::MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}})
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:156
  [7] (::GLMakie.var"#175#178"{MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}})(key_value::Pair{Symbol, Observables.Observable{Any}})
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:91
  [8] iterate
    @ ./generator.jl:47 [inlined]
  [9] collect_to!(dest::Vector{Pair{Symbol}}, itr::Base.Generator{MakieCore.Attributes, GLMakie.var"#175#178"{MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}}}, offs::Int64, st::Int64)
    @ Base ./array.jl:782
 [10] collect_to!(dest::Vector{Pair{Symbol, Observables.Observable{Bool}}}, itr::Base.Generator{MakieCore.Attributes, GLMakie.var"#175#178"{MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}}}, offs::Int64, st::Int64)
    @ Base ./array.jl:790
 [11] collect_to_with_first!(dest::Vector{Pair{Symbol, Observables.Observable{Bool}}}, v1::Pair{Symbol, Observables.Observable{Bool}}, itr::Base.Generator{MakieCore.Attributes, GLMakie.var"#175#178"{MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}}}, st::Int64)
    @ Base ./array.jl:760
 [12] collect(itr::Base.Generator{MakieCore.Attributes, GLMakie.var"#175#178"{MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}}})
    @ Base ./array.jl:734
 [13] map
    @ ./abstractarray.jl:2878 [inlined]
 [14] (::GLMakie.var"#173#176"{GLMakie.var"#247#248"{GLMakie.Screen, Makie.Scene, MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}}, GLMakie.Screen, Makie.Scene, MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}})()
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:88
 [15] get!(default::GLMakie.var"#173#176"{GLMakie.var"#247#248"{GLMakie.Screen, Makie.Scene, MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}}, GLMakie.Screen, Makie.Scene, MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}}, h::Dict{UInt64, GLMakie.GLAbstraction.RenderObject}, key::UInt64)
    @ Base ./dict.jl:464
 [16] cached_robj!(robj_func::GLMakie.var"#247#248"{GLMakie.Screen, Makie.Scene, MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}}, screen::GLMakie.Screen, scene::Makie.Scene, x::MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}})
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:83
 [17] draw_atomic
    @ ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:492 [inlined]
 [18] insert!(screen::GLMakie.Screen, scene::Makie.Scene, x::MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}})
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:120
 [19] (::GLMakie.var"#179#180"{GLMakie.Screen, Makie.Scene})(x::MakieCore.Mesh{Tuple{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}})
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:125
 [20] foreach(f::GLMakie.var"#179#180"{GLMakie.Screen, Makie.Scene}, itr::Vector{MakieCore.AbstractPlot})
    @ Base ./abstractarray.jl:2694
 [21] insert!(screen::GLMakie.Screen, scene::Makie.Scene, x::MakieCore.Mesh{Tuple{Vector{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}})
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:122
 [22] (::GLMakie.var"#179#180"{GLMakie.Screen, Makie.Scene})(x::MakieCore.Mesh{Tuple{Vector{GeometryBasics.Mesh{2, Float32, GeometryBasics.Ngon{2, Float32, 3, GeometryBasics.Point{2, Float32}}, GeometryBasics.SimpleFaceView{2, Float32, 3, GeometryBasics.OffsetInteger{-1, UInt32}, GeometryBasics.Point{2, Float32}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}})
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:125
 [23] foreach(f::GLMakie.var"#179#180"{GLMakie.Screen, Makie.Scene}, itr::Vector{MakieCore.AbstractPlot})
    @ Base ./abstractarray.jl:2694
 [24] insert!(screen::GLMakie.Screen, scene::Makie.Scene, x::MakieCore.Combined{Makie.poly, Tuple{Vector{Vector{GeometryBasics.Point{2, Float32}}}}})
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/drawing_primitives.jl:122
 [25] insertplots!(screen::GLMakie.Screen, scene::Makie.Scene)
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/screen.jl:65
 [26] (::GLMakie.var"#104#106"{GLMakie.Screen})(s::Makie.Scene)
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/screen.jl:67
 [27] foreach(f::GLMakie.var"#104#106"{GLMakie.Screen}, itr::Vector{Makie.Scene})
    @ Base ./abstractarray.jl:2694
 [28] insertplots!(screen::GLMakie.Screen, scene::Makie.Scene)
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/screen.jl:67
 [29] backend_display(screen::GLMakie.Screen, scene::Makie.Scene; connect::Bool)
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/display.jl:20
 [30] backend_display
    @ ~/.julia/packages/GLMakie/vJggc/src/display.jl:10 [inlined]
 [31] _precompile_()
    @ GLMakie ~/.julia/packages/GLMakie/vJggc/src/precompiles.jl:32
 [32] top-level scope
    @ ~/.julia/packages/GLMakie/vJggc/src/GLMakie.jl:67
 [33] include
    @ ./Base.jl:418 [inlined]
 [34] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1318
 [35] top-level scope
    @ none:1
 [36] eval
    @ ./boot.jl:373 [inlined]
 [37] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [38] top-level scope
    @ none:1
in expression starting at /home/peterwd/.julia/packages/GLMakie/vJggc/src/GLMakie.jl:1
ERROR: Failed to precompile GLMakie [e9467ef8-e4e7-5192-8a1a-b1aee30e663a] to /home/peterwd/.julia/compiled/v1.7/GLMakie/jl_hAe027.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1466
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1410
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1120
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:997

pdeffebach avatar Jul 28 '22 15:07 pdeffebach

I think that happened due to a mismatch with the MakieCore version. Try updating all (Makie, GLMakie, MakieCore) to the newest version, or [email protected]

SimonDanisch avatar Jul 28 '22 15:07 SimonDanisch

It seems to work with the latest version of GLMakie. But I think AlgebraOfGraphics forces a downgrade that causes the error.

A more MWE

(jl_eAjroW) pkg> st
      Status `/tmp/jl_eAjroW/Project.toml`
  [cbdf2221] AlgebraOfGraphics v0.6.9
  [e9467ef8] GLMakie v0.6.9
julia> using GLMakie, AlgebraOfGrpahics
[ Info: Precompiling GLMakie [e9467ef8-e4e7-5192-8a1a-b1aee30e663a]
ERROR: LoadError: KeyError: key :colormap not found

But with just GLMakie, it works

julia> using GLMakie

(jl_EKgHj9) pkg> st
      Status `/tmp/jl_EKgHj9/Project.toml`
  [e9467ef8] GLMakie v0.6.12

So I guess AlgebraOfGraphics.jl needs a release?

pdeffebach avatar Jul 28 '22 15:07 pdeffebach

cc @piever since this might be more of an AoG issue

pdeffebach avatar Jul 28 '22 19:07 pdeffebach

I met the total same problem. I have tried all the related methods I can find above and in JuliaLang, e.g., updating all (Makie, GLMakie, MakieCore) to the newest version.

It doesn't work until I restart the computer............ If you meet the same issue and cannot deal with it, you can try this way.

Xinyi-Yu avatar Jul 31 '22 14:07 Xinyi-Yu

I've just tagged a version with updated GridLayoutBase compatibility https://github.com/JuliaRegistries/General/pull/65385, so ideally that would avoid downgrading Makie

piever avatar Jul 31 '22 18:07 piever

HI! I tried restarting, updating Mackie libraries, deleting of AoG. Nothing helped. I described mu case here more detailed: https://stackoverflow.com/questions/73337308/how-to-solve-the-glmakie-precompiling-error-in-julia?noredirect=1#comment129532511_73337308 Any ideas?

vladdez avatar Aug 16 '22 09:08 vladdez

Figure out what holds back MakieCore?

SimonDanisch avatar Aug 16 '22 10:08 SimonDanisch