Closed niclasmattsson closed 3 years ago
After some more digging I think I found the problem. It was an incompatibility between GLMakie and the latest versions of FileIO, see https://github.com/JuliaPlots/Makie.jl/issues/863. GeoMakie had constraints on GLMakie versions so it wouldn't accept the bugfix, but as a temporary workaround explicitly downgrading to FileIO v1.5.1 fixed the issues I was having.
So to update this issue: would you consider updating GeoMakie v0.1.15 so it works with the latest releases of Makie and GLMakie? I think that would be the cleanest fix.
Oh, I actually never released the new version.
but could you please first consider releasing a version of the established API that works in Julia 1.6?
I don't think it's possible to have the old GeoMakie code work with the latest release of GLMakie... Did you really get the old version to work with the newest GLMakie? Anyways, I don't have much time for this Package, so I can at most maintain the newest code... I can try to release that today!
Did you really get the old version to work with the newest GLMakie?
No, sorry if I wasn't clear. I left it constrained by GeoMakie, it ended up at v0.1.5 I think. I assumed you had lots more work left with the new version, but releasing that works for me. Then I can just adapt to the new API to get updated versions of the dependencies.
I tried updating to master instead, but unfortunately that seems broken too. When I try the new README example on master I get an empty Makie window (or rather empty except for axes) and this error:
Error in callback:
MethodError: no method matching inverse_transform(::AbstractPlotting.PointTrans{2, WARNING: both GridLayoutBase and AbstractPlotting export "bottom"; uses of it in module GeoMakie must be qualified
WARNING: both MakieLayout and GeometryBasics export "height"; uses of it in module GeoMakie must be qualified
WARNING: both GridLayoutBase and AbstractPlotting export "left"; uses of it in module GeoMakie must be qualified
WARNING: both GridLayoutBase and AbstractPlotting export "right"; uses of it in module GeoMakie must be qualified
WARNING: both GridLayoutBase and AbstractPlotting export "top"; uses of it in module GeoMakie must be qualified
WARNING: both MakieLayout and GeometryBasics export "width"; uses of it in module GeoMakie must be qualified
GeoMakie.PROJ{Projection, Projection}})
Closest candidates are:
inverse_transform(::typeof(identity)) at C:\Users\niclas\.julia\packages\AbstractPlotting\M8Nlv\src\layouting\transformation.jl:316
inverse_transform(::typeof(log10)) at C:\Users\niclas\.julia\packages\AbstractPlotting\M8Nlv\src\layouting\transformation.jl:317
inverse_transform(::typeof(log)) at C:\Users\niclas\.julia\packages\AbstractPlotting\M8Nlv\src\layouting\transformation.jl:318
...
Stacktrace:
[1] process_interaction(r::AbstractPlotting.MakieLayout.RectangleZoom, event::MouseEvent, ax::Axis)
@ AbstractPlotting.MakieLayout ~\.julia\packages\AbstractPlotting\M8Nlv\src\makielayout\interactions.jl:147
[2] (::AbstractPlotting.MakieLayout.var"#process_event#262"{Axis})(event::MouseEvent)
@ AbstractPlotting.MakieLayout ~\.julia\packages\AbstractPlotting\M8Nlv\src\makielayout\layoutables\axis.jl:392
[3] #invokelatest#2
@ .\essentials.jl:708 [inlined]
[4] invokelatest
@ .\essentials.jl:706 [inlined]
[5] notify
@ ~\.julia\packages\Observables\OFj0u\src\Observables.jl:88 [inlined]
[6] setindex!
@ ~\.julia\packages\Observables\OFj0u\src\Observables.jl:248 [inlined]
[7] (::AbstractPlotting.MakieLayout.var"#70#73"{Scene, Base.RefValue{Float64}, Base.RefValue{Bool}, Base.RefValue{Bool}, Base.RefValue{Union{Nothing, AbstractPlotting.Mouse.Button}}, Base.RefValue{Bool}, Base.RefValue{GeometryBasics.Point{2, Float32}}, Base.RefValue{GeometryBasics.Point{2, Float32}}, Base.RefValue{AbstractPlotting.Mouse.DragEnum}, AbstractPlotting.MakieLayout.var"#is_mouse_over_relevant_area#72"{Scene, Tuple{}}, Observable{MouseEvent}, Module})(mp::Tuple{Float64, Float64})
@ AbstractPlotting.MakieLayout ~\.julia\packages\AbstractPlotting\M8Nlv\src\makielayout\mousestatemachine.jl:190
[8] #invokelatest#2
@ .\essentials.jl:708 [inlined]
[9] invokelatest
@ .\essentials.jl:706 [inlined]
[10] notify
@ ~\.julia\packages\Observables\OFj0u\src\Observables.jl:88 [inlined]
[11] setindex!
@ ~\.julia\packages\Observables\OFj0u\src\Observables.jl:248 [inlined]
[12] (::GLMakie.var"#67#68"{Events, GLFW.Window})(#unused#::Nothing)
@ GLMakie ~\.julia\packages\GLMakie\WcG7U\src\events.jl:4
[13] #invokelatest#2
@ .\essentials.jl:708 [inlined]
[14] invokelatest
@ .\essentials.jl:706 [inlined]
[15] notify
@ ~\.julia\packages\Observables\OFj0u\src\Observables.jl:88 [inlined]
[16] setindex!(observable::Observable{Nothing}, val::Nothing)
@ Observables ~\.julia\packages\Observables\OFj0u\src\Observables.jl:248
[17] fps_renderloop(screen::GLMakie.Screen, framerate::Float64)
@ GLMakie ~\.julia\packages\GLMakie\WcG7U\src\rendering.jl:22
[18] renderloop(screen::GLMakie.Screen; framerate::Float64)
@ GLMakie ~\.julia\packages\GLMakie\WcG7U\src\rendering.jl:48
[19] renderloop(screen::GLMakie.Screen)
@ GLMakie ~\.julia\packages\GLMakie\WcG7U\src\rendering.jl:41
[20] (::GLMakie.var"#50#52"{GLMakie.Screen})()
@ GLMakie .\task.jl:406
Thanks for releasing version 0.1.16! The first README example is still broken, but the same demo using the formulation in tests/runtests.jl works perfectly. As soon as you update the README you can close this issue as fixed.
Hovering over the resulting figure produces a bunch of callback errors due to the lack of an inverse_transform
method, but I'll open a separate issue for that.
The readme example was updated in #79, so I believe this can be closed now.
My packages that use GeoMakie get various strange errors when running in Julia 1.6, so I went back to basics and decided to try to get the simplest README example working in a new environment. Here's a log of the package installation. Notice when adding Makie that GeoMakie immediately downgrades to v0.1.14 and AbstractPlotting to v0.11.2.
Now trying the README example (for v0.1.14).
I can see from the commits that you're in the midst of "starting anew", but could you please first consider releasing a version of the established API that works in Julia 1.6?