Warnings on importing BifurcationKit with Julia 1.5.3

I have the following packages installed for Julia 1.5.3 that ships with Debian/stable.

(@v1.5) pkg> status
Status `~/.julia/environments/v1.5/Project.toml`
  [aae01518] BandedMatrices v0.16.13
  [0f109fa4] BifurcationKit v0.1.6
  [336ed68f] CSV v0.9.9
  [13f3f980] CairoMakie v0.6.4
  [5ae59095] Colors v0.12.8
  [a93c6f00] DataFrames v1.2.2
  [0c46a032] DifferentialEquations v6.18.0
  [f6369f11] ForwardDiff v0.10.21
  [e9467ef8] GLMakie v0.4.5
  [4076af6c] JuMP v0.21.10
  [b964fa9f] LaTeXStrings v1.2.1
  [0e72984e] Local v0.1.0 `~/work/src/julia/pkgs/Local`
  [ae8d54c2] Luxor v2.16.0
  [961ee093] ModelingToolkit v6.4.7
  [4a0b20f9] NeuralDynamics v0.2.0
  [d96e819e] Parameters v0.12.3
  [91a5bcdd] Plots v1.22.7
  [c3e4b0f8] Pluto v0.17.7
  [295af30f] Revise v3.1.20
  [efcf1570] Setfield v0.7.1
  [276daf66] SpecialFunctions v1.8.0
  [0c5d862f] Symbolics v3.2.3
  [37e2e46d] LinearAlgebra

Any time I use the BifurcationKit package I see the following warnings. Is there any way to fix this ?

julia> using BifurcationKit, Plots, Setfield
WARNING: both Plots and RecipesBase export "@layout"; uses of it in module BifurcationKit must be qualified
β”Œ Warning: Error requiring `Plots` from `BifurcationKit`
β”‚   exception =
β”‚    LoadError: LoadError: LoadError: UndefVarError: @layout not defined
β”‚    Stacktrace:
β”‚     [1] top-level scope
β”‚     [2] #macroexpand#36 at ./expr.jl:108 [inlined]
β”‚     [3] macroexpand at ./expr.jl:107 [inlined]
β”‚     [4] docm(::LineNumberNode, ::Module, ::Any, ::Any, ::Bool) at ./docs/Docs.jl:521 (repeats 2 times)
β”‚     [5] (::DocStringExtensions.var"#32#33"{typeof(DocStringExtensions.template_hook)})(::LineNumberNode, ::Vararg{Any,N} where N) at /home/bt/.julia/packages/DocStringExtensions/iscC8/src/templates.jl:11
β”‚     [6] @doc(::LineNumberNode, ::Module, ::String, ::Vararg{Any,N} where N) at ./boot.jl:464
β”‚     [7] include(::Function, ::Module, ::String) at ./Base.jl:380
β”‚     [8] include at ./Base.jl:368 [inlined]
β”‚     [9] include(::String) at /home/bt/.julia/packages/BifurcationKit/xk596/src/BifurcationKit.jl:1
β”‚     [10] top-level scope at /home/bt/.julia/packages/Requires/Z8rfN/src/Requires.jl:40
β”‚     [11] top-level scope at /home/bt/.julia/packages/BifurcationKit/xk596/src/BifurcationKit.jl:69
β”‚     [12] eval at ./boot.jl:331 [inlined]
β”‚     [13] eval at /home/bt/.julia/packages/BifurcationKit/xk596/src/BifurcationKit.jl:1 [inlined]
β”‚     [14] (::BifurcationKit.var"#899#911")() at /home/bt/.julia/packages/Requires/Z8rfN/src/require.jl:101
β”‚     [15] macro expansion at ./timing.jl:233 [inlined]
β”‚     [16] err(::Any, ::Module, ::String, ::String, ::Int64) at /home/bt/.julia/packages/Requires/Z8rfN/src/require.jl:47
β”‚     [17] (::BifurcationKit.var"#898#910")() at /home/bt/.julia/packages/Requires/Z8rfN/src/require.jl:100
β”‚     [18] withpath(::Any, ::String) at /home/bt/.julia/packages/Requires/Z8rfN/src/require.jl:37
β”‚     [19] (::BifurcationKit.var"#897#909")() at /home/bt/.julia/packages/Requires/Z8rfN/src/require.jl:99
β”‚     [20] #invokelatest#1 at ./essentials.jl:710 [inlined]
β”‚     [21] invokelatest at ./essentials.jl:709 [inlined]
β”‚     [22] foreach at ./abstractarray.jl:2009 [inlined]
β”‚     [23] loadpkg(::Base.PkgId) at /home/bt/.julia/packages/Requires/Z8rfN/src/require.jl:27
β”‚     [24] #invokelatest#1 at ./essentials.jl:710 [inlined]
β”‚     [25] invokelatest at ./essentials.jl:709 [inlined]
β”‚     [26] require(::Base.PkgId) at ./loading.jl:931
β”‚     [27] require(::Module, ::Symbol) at ./loading.jl:923
β”‚     [28] eval(::Module, ::Any) at ./boot.jl:331
β”‚     [29] eval_user_input(::Any, ::REPL.REPLBackend) at /build/julia-CrxBG0/julia-1.5.3+dfsg/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:134
β”‚     [30] repl_backend_loop(::REPL.REPLBackend) at /build/julia-CrxBG0/julia-1.5.3+dfsg/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:195
β”‚     [31] start_repl_backend(::REPL.REPLBackend, ::Any) at /build/julia-CrxBG0/julia-1.5.3+dfsg/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:180
β”‚     [32] run_repl(::REPL.AbstractREPL, ::Any; backend_on_current_task::Bool) at /build/julia-CrxBG0/julia-1.5.3+dfsg/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:292
β”‚     [33] run_repl(::REPL.AbstractREPL, ::Any) at /build/julia-CrxBG0/julia-1.5.3+dfsg/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:288
β”‚     [34] (::Base.var"#807#809"{Bool,Bool,Bool,Bool})(::Module) at ./client.jl:399
β”‚     [35] #invokelatest#1 at ./essentials.jl:710 [inlined]
β”‚     [36] invokelatest at ./essentials.jl:709 [inlined]
β”‚     [37] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at ./client.jl:383
β”‚     [38] exec_options(::Base.JLOptions) at ./client.jl:313
β”‚     [39] _start() at ./client.jl:506
β”‚    in expression starting at /home/bt/.julia/packages/BifurcationKit/xk596/src/plotting/PlotCont.jl:5
β”‚    in expression starting at /home/bt/.julia/packages/BifurcationKit/xk596/src/plotting/PlotCont.jl:1
β”‚    in expression starting at /home/bt/.julia/packages/BifurcationKit/xk596/src/plotting/PlotCont.jl:1
β”” @ Requires ~/.julia/packages/Requires/Z8rfN/src/require.jl:51

Don’t use Julia 1.5.3, and don’t use the versions shipped with Linux distributions. Follow the installation instructions on the Julia website and install the current stable version (1.7.3) instead.


is it solved?

It’s a sort of common mistake, could we just convince the get the distros to drop Julia, BUT while juliaup is still β€œconsidered prerelease” on Linux, at least (eventually) it should be available on all platforms (e.g. Ubuntu and Debian) as its replacement, not just on Windows and already (to get you the right/all version of Julia):

On Arch Linux, Juliaup is available in the Arch User Repository (AUR).


Yes thank you. I did solve my problem by downloading the prebuilt Julia 1.7.3 for Linux.

It did take a bit of investigation to find a workaround for another issue and fix that too . Having Julia packaged as part of Linux distributions like Ubuntu/Debian would avoid such problems.

Now I hope to get onto the more interesting task of learning BifurcationKit. Thank you for this excellent package.

1 Like