I’m using VegaLite library, and after some update it does not load when imported after PyPlot
:
using PyPlot
using VegaLite
gives the following:
ERROR: InitError: error compiling __init__: could not load library "/usr/lib/x86_64-linux-gnu/librsvg-2.so.2"
/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined symbol: g_spawn_async_with_fds
Stacktrace:
[1] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:633
[2] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:713
[3] _tryrequire_from_serialized(::Base.PkgId, ::UInt64, ::String) at ./loading.jl:648
[4] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:702
[5] _require(::Base.PkgId) at ./loading.jl:937
[6] require(::Base.PkgId) at ./loading.jl:858
[7] require(::Module, ::Symbol) at ./loading.jl:853
during initialization of module Rsvg
Following to Rsvg.jl __init__
method I narrowed this error down to this code:
julia -E 'using PyPlot; ccall((:rsvg_set_default_dpi, "librsvg-2.so.2"), Nothing, (Float64,), 1.)'
gives the same error, and executes fine if I remove using PyPlot
. The issue seems related to some interaction with python and plots, as the following line (for example) also gives the same error:
julia -E 'using PyCall; pyimport("seaborn"); ccall((:rsvg_set_default_dpi, "librsvg-2.so.2"), Nothing, (Float64,), 1.)'
At the same time,
julia -E 'ccall((:rsvg_set_default_dpi, "librsvg-2.so.2"), Nothing, (Float64,), 1.)'
correctly prints nothing
without errors.
Any idea how to debug and fix this?