# Plots/GR broken after updating Pluto dependencies

**URL:** <https://discourse.julialang.org/t/plots-gr-broken-after-updating-pluto-dependencies/100546>\
**Category:** General Usage\
**Tags:** plots, gr\
**Created:** [June 19, 2023, 8:26am UTC](https://discourse.julialang.org/t/plots-gr-broken-after-updating-pluto-dependencies/100546 "2023-06-19T08:26:17Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![schlichtanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/schlichtanders/32/32145_2.png) [@schlichtanders](https://discourse.julialang.org/u/schlichtanders)\
**Post date:** [June 22, 2023, 3:53pm UTC](https://discourse.julialang.org/t/plots-gr-broken-after-updating-pluto-dependencies/100546/21 "2023-06-22T15:53:10Z")

</div>

I got another error after same procedure: updating pluto dependencies also updated plots

```julia
┌ Warning: Module Libtiff_jll with build ID ffffffff-ffff-ffff-0011-7bc9495eb81f is missing from the cache.
│ This may mean Libtiff_jll [89763e89-9b03-5906-acba-b20f662cd828] does not support precompilation but is imported by a module that does.
└ @ Base loading.jl:1793
┌ Warning: The call to compilecache failed to create a usable precompiled cache file for GR_jll [d2c73de3-f751-5644-a686-071e5b155ba9]
│ exception = Required dependency libwebp_jll [c5f90fcd-3b7e-5836-afba-fc50a0988cb2] failed to load from a cache file.
└ @ Base loading.jl:1818
┌ Warning: Module Libtiff_jll with build ID ffffffff-ffff-ffff-0011-7bc9ca94fed4 is missing from the cache.
│ This may mean Libtiff_jll [89763e89-9b03-5906-acba-b20f662cd828] does not support precompilation but is imported by a module that does.
└ @ Base loading.jl:1793
┌ Warning: The call to compilecache failed to create a usable precompiled cache file for GR [28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71]
│ exception = Required dependency libwebp_jll [c5f90fcd-3b7e-5836-afba-fc50a0988cb2] failed to load from a cache file.
└ @ Base loading.jl:1818
┌ Warning: Module Libtiff_jll with build ID ffffffff-ffff-ffff-0011-7bcb239ffdbe is missing from the cache.
│ This may mean Libtiff_jll [89763e89-9b03-5906-acba-b20f662cd828] does not support precompilation but is imported by a module that does.
└ @ Base loading.jl:1793
┌ Warning: The call to compilecache failed to create a usable precompiled cache file for GR_jll [d2c73de3-f751-5644-a686-071e5b155ba9]
│ exception = Required dependency libwebp_jll [c5f90fcd-3b7e-5836-afba-fc50a0988cb2] failed to load from a cache file.
└ @ Base loading.jl:1818
┌ Warning: Module Libtiff_jll with build ID ffffffff-ffff-ffff-0011-7bcb8d2be57c is missing from the cache.
│ This may mean Libtiff_jll [89763e89-9b03-5906-acba-b20f662cd828] does not support precompilation but is imported by a module that does.
└ @ Base loading.jl:1793
ERROR: LoadError: UndefRefError: access to undefined reference
Stacktrace:
  [1] getproperty
    @ ./Base.jl:37 [inlined]
  [2] getindex
    @ ./refvalue.jl:56 [inlined]
  [3] load_libs(always::Bool)
    @ GR ~/.julia/packages/GR/hbmas/src/funcptrs.jl:38
  [4] get_func_ptr(handle::Base.RefValue{Ptr{Nothing}}, ptrs::GR.LibGR_Ptrs, func::Symbol, loaded::Bool)
    @ GR ~/.julia/packages/GR/hbmas/src/funcptrs.jl:75
  [5] get_func_ptr
    @ ~/.julia/packages/GR/hbmas/src/funcptrs.jl:75 [inlined]
  [6] libGR_ptr
    @ ~/.julia/packages/GR/hbmas/src/funcptrs.jl:84 [inlined]
  [7] setcharheight(height::Float64)
    @ GR ~/.julia/packages/GR/hbmas/src/GR.jl:1551
  [8] gr_set_font(f::Plots.Font, s::Plots.Subplot{Plots.GRBackend}; halign::Symbol, valign::Symbol, color::ColorTypes.RGB{FixedPointNumbers.N0f8}, rotation::Int64)
    @ Plots ~/.julia/packages/Plots/rz1WP/src/backends/gr.jl:431
  [9] gr_set_tickfont(sp::Plots.Subplot{Plots.GRBackend}, ax::Plots.Axis; kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Plots ~/.julia/packages/Plots/rz1WP/src/backends/gr.jl:694
 [10] gr_set_tickfont(sp::Plots.Subplot{Plots.GRBackend}, ax::Plots.Axis)
    @ Plots ~/.julia/packages/Plots/rz1WP/src/backends/gr.jl:694
 [11] _update_min_padding!(sp::Plots.Subplot{Plots.GRBackend})
    @ Plots ~/.julia/packages/Plots/rz1WP/src/backends/gr.jl:870
 [12] iterate
    @ ./generator.jl:47 [inlined]
 [13] _collect(c::Matrix{RecipesBase.AbstractLayout}, itr::Base.Generator{Matrix{RecipesBase.AbstractLayout}, typeof(Plots._update_min_padding!)}, #unused#::Base.EltypeUnknown, isz::Base.HasShape{2})
    @ Base ./array.jl:802
 [14] collect_similar
    @ ./array.jl:711 [inlined]
 [15] map
    @ ./abstractarray.jl:3261 [inlined]
 [16] _update_min_padding!(layout::Plots.GridLayout)
    @ Plots ~/.julia/packages/Plots/rz1WP/src/layouts.jl:277
 [17] prepare_output(plt::Plots.Plot{Plots.GRBackend})
    @ Plots ~/.julia/packages/Plots/rz1WP/src/plot.jl:239
 [18] show
    @ ~/.julia/packages/Plots/rz1WP/src/output.jl:231 [inlined]
 [19] #344
    @ ~/.julia/packages/Plots/rz1WP/src/output.jl:6 [inlined]
 [20] open(::Plots.var"#344#345"{Plots.Plot{Plots.GRBackend}}, ::String, ::Vararg{String}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Base ./io.jl:395
 [21] open
    @ ./io.jl:392 [inlined]
 [22] png(plt::Plots.Plot{Plots.GRBackend}, fn::String)
    @ Plots ~/.julia/packages/Plots/rz1WP/src/output.jl:6
 [23] savefig(plt::Plots.Plot{Plots.GRBackend}, fn::String)
    @ Plots ~/.julia/packages/Plots/rz1WP/src/output.jl:149
 [24] var"##1#293"()
    @ Plots ~/.julia/packages/Plots/rz1WP/src/init.jl:111
 [25] top-level scope
    @ ~/.julia/packages/Plots/rz1WP/src/init.jl:118
 [26] eval
    @ ./boot.jl:370 [inlined]
 [27] eval
    @ ~/.julia/packages/Plots/rz1WP/src/Plots.jl:1 [inlined]
 [28] _broadcast_getindex_evalf
    @ ./broadcast.jl:683 [inlined]
 [29] _broadcast_getindex
    @ ./broadcast.jl:656 [inlined]
 [30] getindex
    @ ./broadcast.jl:610 [inlined]
 [31] copy
    @ ./broadcast.jl:912 [inlined]
 [32] materialize(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, typeof(Plots.eval), Tuple{Vector{Expr}}})
    @ Base.Broadcast ./broadcast.jl:873
 [33] macro expansion
    @ ~/.julia/packages/Plots/rz1WP/src/init.jl:126 [inlined]
 [34] macro expansion
    @ ~/.julia/packages/PrecompileTools/0yi7r/src/workloads.jl:74 [inlined]
 [35] (::Plots.var"#557#558")()
    @ Plots ~/.julia/packages/Plots/rz1WP/src/init.jl:123
 [36] withenv(f::Plots.var"#557#558", keyvals::Pair{String, String})
    @ Base ./env.jl:197
 [37] macro expansion
    @ ~/.julia/packages/Plots/rz1WP/src/init.jl:122 [inlined]
 [38] top-level scope
    @ ~/.julia/packages/PrecompileTools/0yi7r/src/workloads.jl:136
 [39] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
 [40] include(x::String)
    @ Plots ~/.julia/packages/Plots/rz1WP/src/Plots.jl:1
 [41] top-level scope
    @ ~/.julia/packages/Plots/rz1WP/src/Plots.jl:176
 [42] include
    @ ./Base.jl:457 [inlined]
 [43] 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, UInt128}}, source::Nothing)
    @ Base ./loading.jl:2045
 [44] top-level scope
    @ stdin:3
in expression starting at /home/jolin_user/.julia/packages/Plots/rz1WP/src/init.jl:87
in expression starting at /home/jolin_user/.julia/packages/Plots/rz1WP/src/Plots.jl:1
in expression starting at stdin:3

```

completely different error, but for sure again because there is a wrong GR package somehow loaded

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [June 22, 2023, 4:12pm UTC](https://discourse.julialang.org/t/plots-gr-broken-after-updating-pluto-dependencies/100546/22 "2023-06-22T16:12:50Z")

</div>

Fixed by [[Libtiff\_jll] Yank v4.5.1+0 with circular dependencies by giordano · Pull Request #86071 · JuliaRegistries/General · GitHub](https://github.com/JuliaRegistries/General/pull/86071)

---

<div class="post-metadata">

**Author:** ![Johnrob](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnrob/32/50968_2.png) [@Johnrob](https://discourse.julialang.org/u/Johnrob)\
**Post date:** [June 23, 2023, 12:49am UTC](https://discourse.julialang.org/t/plots-gr-broken-after-updating-pluto-dependencies/100546/23 "2023-06-23T00:49:18Z")

</div>

Unfortunately, this fix does not trickle down to the currently installed Julia 1.91.  
I have to reinstall Julia before the fix seemed to have effected.

What I did was (using [brew.sh](https://brew.sh)):

1. Uninstall my current Julia  
`brew uninstall juliaup`  
`brew uninstall julia`
2. Moved the original .julia directory for clean install  
`mv ~/.julia ~/.old-julia`  
just to make sure I have a backup
3. Reinstalled Julia from scratch, without using `juliaup`  
`brew intall julia`
4. Once successful, you may delete the `.old-julia` in your home directory.

Within Julia, I was able to `add Plots` within the `pkg>` environment without much problem.

I assume that the root of my `Plots` “circular dependency” problem is the `GR` installation.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [June 23, 2023, 5:26am UTC](https://discourse.julialang.org/t/plots-gr-broken-after-updating-pluto-dependencies/100546/24 "2023-06-23T05:26:00Z")

</div>

> [@Johnrob](#):
>
> Unfortunately, this fix does not trickle down to the currently installed Julia 1.91.  
> I have to reinstall Julia before the fix seemed to have effected.

Did you try to simply update the registry?

[Previous page](https://discourse.julialang.org/t/plots-gr-broken-after-updating-pluto-dependencies/100546.md?page=1)
