Skip to content

Troubles building the documentaion #80

Open

Description

@m57-prot

Hello,

Not really sure if that's the Documenter.jl's problem, but I get the following errors and warnings blocks (ordered from top to bottom appearance in terminal):

1. Warnings block (click)
[ Info: SetupBuildDirectory: setting up build directory.
[ Info: Doctest: skipped.
[ Info: ExpandTemplates: expanding markdown templates.
┌ Warning: duplicate docs found for 'get_named_sensitivity' in `@docs` block in src/api.md:12-32
│ ```@docs
│ bodeplot
│ linearize
│ linearization_function
│ loopshapingPID
│ named_ss
│ get_named_sensitivity
│ get_named_comp_sensitivity
│ get_named_looptransfer
│ ModelingToolkit.linearize_symbolic
│ ModelingToolkitStandardLibrary.Blocks.get_sensitivity
│ ModelingToolkitStandardLibrary.Blocks.get_comp_sensitivity
│ ModelingToolkitStandardLibrary.Blocks.get_looptransfer
│ ModelingToolkitStandardLibrary.Blocks.StateSpace
│ RobustAndOptimalControl.ss2particles
│ ControlSystemsBase.StateSpace
│ SymbolicControlSystems.ccode
│ SymbolicControlSystems.print_c_array
│ ModelingToolkit.reorder_states
│ ControlSystemsMTK.fuzz
│ ``` 
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:49
┌ Warning: duplicate docs found for 'get_named_comp_sensitivity' in `@docs` block in src/api.md:12-32
│ ```@docs
│ bodeplot
│ linearize
│ linearization_function
│ loopshapingPID
│ named_ss
│ get_named_sensitivity
│ get_named_comp_sensitivity
│ get_named_looptransfer
│ ModelingToolkit.linearize_symbolic
│ ModelingToolkitStandardLibrary.Blocks.get_sensitivity
│ ModelingToolkitStandardLibrary.Blocks.get_comp_sensitivity
│ ModelingToolkitStandardLibrary.Blocks.get_looptransfer
│ ModelingToolkitStandardLibrary.Blocks.StateSpace
│ RobustAndOptimalControl.ss2particles
│ ControlSystemsBase.StateSpace
│ SymbolicControlSystems.ccode
│ SymbolicControlSystems.print_c_array
│ ModelingToolkit.reorder_states
│ ControlSystemsMTK.fuzz
│ ``` 
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:49
┌ Warning: duplicate docs found for 'get_named_looptransfer' in `@docs` block in src/api.md:12-32
│ ```@docs
│ bodeplot
│ linearize
│ linearization_function
│ loopshapingPID
│ named_ss
│ get_named_sensitivity
│ get_named_comp_sensitivity
│ get_named_looptransfer
│ ModelingToolkit.linearize_symbolic
│ ModelingToolkitStandardLibrary.Blocks.get_sensitivity
│ ModelingToolkitStandardLibrary.Blocks.get_comp_sensitivity
│ ModelingToolkitStandardLibrary.Blocks.get_looptransfer
│ ModelingToolkitStandardLibrary.Blocks.StateSpace
│ RobustAndOptimalControl.ss2particles
│ ControlSystemsBase.StateSpace
│ SymbolicControlSystems.ccode
│ SymbolicControlSystems.print_c_array
│ ModelingToolkit.reorder_states
│ ControlSystemsMTK.fuzz
│ ``` 
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:49
┌ Warning: undefined binding 'ModelingToolkit.reorder_states' in `@docs` block in src/api.md:12-32
│ ```@docs
│ bodeplot
│ linearize
│ linearization_function
│ loopshapingPID
│ named_ss
│ get_named_sensitivity
│ get_named_comp_sensitivity
│ get_named_looptransfer
│ ModelingToolkit.linearize_symbolic
│ ModelingToolkitStandardLibrary.Blocks.get_sensitivity
│ ModelingToolkitStandardLibrary.Blocks.get_comp_sensitivity
│ ModelingToolkitStandardLibrary.Blocks.get_looptransfer
│ ModelingToolkitStandardLibrary.Blocks.StateSpace
│ RobustAndOptimalControl.ss2particles
│ ControlSystemsBase.StateSpace
│ SymbolicControlSystems.ccode
│ SymbolicControlSystems.print_c_array
│ ModelingToolkit.reorder_states
│ ControlSystemsMTK.fuzz
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:49
2. Errors block (click)
┌ Error: failed to run `@example` block in src/batch_linearization.md:102-144
│ ```@example BATCHLIN
│ using OrdinaryDiffEqNonlinearSolve, OrdinaryDiffEqRosenbrock
│ using DataInterpolations # Required to interpolate between the controllers
│ @named fb  = Blocks.Add(k2=-1)
│ @named ref = Blocks.Square(frequency=1/6, amplitude=0.5, offset=0.5, start_time=1)
│ @named F   = Blocks.SecondOrder(w=15, d=1) # A reference pre-filter
│ connect    = ModelingToolkit.connect
│ 
│ closed_loop_eqs = [
│     connect(ref.output, :r0, F.input)
│     connect(F.output,  :r, fb.input1) # Add an analysis point :r
│     connect(duffing.y, :y, fb.input2) # Add an analysis point :y
│ ]
│ plot(layout=2)
│ 
│ # Simulate each individual controller
│ for C in Cs
│     @named Ci = System(C)
│     eqs = [
│         closed_loop_eqs
│         connect(fb.output, Ci.input)
│         connect(Ci.output, duffing.u)
│     ]
│     @named closed_loop = System(eqs, t, systems=[duffing, Ci, fb, ref, F])
│     prob = ODEProblem(structural_simplify(closed_loop), [F.x => 0, F.xd => 0], (0.0, 8.0))
│     sol = solve(prob, Rodas5P(), abstol=1e-8, reltol=1e-8)
│     plot!(sol, idxs=[duffing.y.u, duffing.u.u], layout=2, lab="")
│ end
│ 
│ # Simulate gain-scheduled controller
│ @named Cgs = GainScheduledStateSpace(Cs, xs, interpolator=LinearInterpolation)
│ eqs = [
│     closed_loop_eqs
│     connect(fb.output, Cgs.input)
│     connect(Cgs.output, :u, duffing.u)
│     connect(duffing.y, :v, Cgs.scheduling_input) # Don't forget to connect the scheduling variable!
│ ]
│ @named closed_loop = System(eqs, t, systems=[duffing, Cgs, fb, ref, F])
│ prob = ODEProblem(structural_simplify(closed_loop), [F.xd => 0], (0.0, 8.0))
│ sol = solve(prob, Rodas5P(), abstol=1e-8, reltol=1e-8, initializealg=SciMLBase.NoInit(), dtmax=0.01)
│ plot!(sol, idxs=[duffing.y.u, duffing.u.u], l=(2, :red), lab="Gain scheduled")
│ plot!(sol, idxs=F.output.u, l=(1, :black, :dash, 0.5), lab="Ref")
│ ```
│   exception =
│    MethodError: no method matching System(::ControlSystemsBase.StateSpace{Continuous, Float64}; name::Symbol)
│    The function `System` exists, but no method is defined for this combination of argument types.
│    
│    Closest candidates are:
│      System(::AbstractVector{<:Equation}, ::Any, ::Any...; name, kw...)
│       @ ModelingToolkit ~/.julia/packages/ModelingToolkit/2xPD3/src/systems/systems.jl:1
│    
│    Stacktrace:
│      [1] macro expansion
│        @ ~/.julia/packages/ModelingToolkit/2xPD3/src/systems/abstractsystem.jl:2297 [inlined]
│      [2] top-level scope
│        @ ./batch_linearization.md:119
│      [3] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [4] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [5] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [6] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [7] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [8] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [9] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│     [10] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [11] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:160-164
│ ```@example BATCHLIN
│ timepoints = 0:0.01:8
│ Ps2, ssys, ops2, resolved_ops = trajectory_ss(closed_loop, closed_loop.r, closed_loop.y, sol; t=timepoints, verbose=true);
│ bodeplot(Ps2, w, legend=false)
│ ```
│   exception =
│    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
│    Suggestion: check for spelling errors or missing imports.
│    Stacktrace:
│      [1] top-level scope
│        @ batch_linearization.md:162
│      [2] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [3] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [8] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:176-183
│ ```@example BATCHLIN
│ kwargs = (; adaptive=false, legend=false)
│ plants, _ = trajectory_ss(closed_loop, closed_loop.u, closed_loop.y, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.u]);
│ controllersy, ssy, ops3, resolved_ops3 = trajectory_ss(closed_loop, closed_loop.r, closed_loop.u, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.y]);
│ 
│ closed_loopsy = feedback.(plants .* controllersy)
│ bodeplot(closed_loopsy, w; title="Loop open at y", kwargs...)
│ ```
│   exception =
│    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
│    Suggestion: check for spelling errors or missing imports.
│    Stacktrace:
│      [1] top-level scope
│        @ batch_linearization.md:178
│      [2] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [3] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [8] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:185-190
│ ```@example BATCHLIN
│ controllersu, ssu = trajectory_ss(closed_loop, closed_loop.r, closed_loop.u, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.u]);
│ 
│ closed_loopsu = feedback.(plants .* controllersu)
│ bodeplot(closed_loopsu, w; title="Loop open at u", kwargs...)
│ ```
│   exception =
│    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
│    Suggestion: check for spelling errors or missing imports.
│    Stacktrace:
│      [1] top-level scope
│        @ batch_linearization.md:186
│      [2] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [3] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [8] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:192-197
│ ```@example BATCHLIN
│ controllersv, ssv = trajectory_ss(closed_loop, closed_loop.r, closed_loop.u, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.y, closed_loop.v]);
│ 
│ closed_loopsv = feedback.(plants .* controllersv)
│ bodeplot(closed_loopsv, w; title="Loop open at v and y", kwargs...)
│ ```
│   exception =
│    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
│    Suggestion: check for spelling errors or missing imports.
│    Stacktrace:
│      [1] top-level scope
│        @ batch_linearization.md:193
│      [2] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [3] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [8] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:201-207
│ ```@example BATCHLIN
│ plants_mimo, _ = trajectory_ss(closed_loop, closed_loop.u, [closed_loop.y, closed_loop.v], sol; t=timepoints, verbose=true, loop_openings=[closed_loop.u]);
│ controllers_mimo, ssm = trajectory_ss(closed_loop, [closed_loop.r, closed_loop.v], closed_loop.u, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.u]);
│ 
│ closed_loops_mimo = feedback.(controllers_mimo .* plants_mimo) # Look at complementary sensitivity function in the input, since this is a SISO system
│ bodeplot(closed_loops_mimo, w; title="Loop open at MIMO", kwargs...)
│ ```
│   exception =
│    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
│    Suggestion: check for spelling errors or missing imports.
│    Stacktrace:
│      [1] top-level scope
│        @ batch_linearization.md:202
│      [2] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [3] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [8] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:213-220
│ ```@example BATCHLIN
│ plot(
│     bodeplot(Cs,           w, legend=false, plotphase=false, title="Designed controllers"),
│     bodeplot(controllersy, w, legend=false, plotphase=false, title="Loop open at y"),
│     bodeplot(controllersu, w, legend=false, plotphase=false, title="Loop open at u"),
│     bodeplot(controllersv, w, legend=false, plotphase=false, title="Loop open at v and y"),
│ )
│ ```
│   exception =
│    UndefVarError: `controllersy` not defined in `Main.__atexample__named__BATCHLIN`
│    Suggestion: check for spelling errors or missing imports.
│    Stacktrace:
│      [1] top-level scope
│        @ batch_linearization.md:214
│      [2] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [3] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [8] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:222-225
│ ```@example BATCHLIN
│ using Test
│ @test all(sminreal.(controllersv) .== sminreal.(controllersu))
│ ```
│   exception = There was an error during testing
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:228-230
│ ```@example BATCHLIN
│ sminreal(controllersy[end]).x
│ ```
│   exception =
│    UndefVarError: `controllersy` not defined in `Main.__atexample__named__BATCHLIN`
│    Suggestion: check for spelling errors or missing imports.
│    Stacktrace:
│      [1] top-level scope
│        @ batch_linearization.md:229
│      [2] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [3] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [8] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:232-234
│ ```@example BATCHLIN
│ sminreal(controllersu[end]).x
│ ```
│   exception =
│    UndefVarError: `controllersu` not defined in `Main.__atexample__named__BATCHLIN`
│    Suggestion: check for spelling errors or missing imports.
│    Stacktrace:
│      [1] top-level scope
│        @ batch_linearization.md:233
│      [2] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [3] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [8] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/batch_linearization.md:252-254
│ ```@example BATCHLIN
│ @test sol(6.99, idxs=closed_loop.duffing.y.u) ≈ 0.0 atol=0.01
│ ```
│   exception = There was an error during testing
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/index.md:69-71
│ ```@example CONNECT
│ @named P_ode = System(P)
│ ```
│   exception =
│    MethodError: no method matching System(::NamedStateSpace{Continuous, ControlSystemsBase.StateSpace{Continuous, Float64}}; name::Symbol)
│    The function `System` exists, but no method is defined for this combination of argument types.
│    
│    Closest candidates are:
│      System(::AbstractVector{<:Equation}, ::Any, ::Any...; name, kw...)
│       @ ModelingToolkit ~/.julia/packages/ModelingToolkit/2xPD3/src/systems/systems.jl:1
│    
│    Stacktrace:
│      [1] top-level scope
│        @ ~/.julia/packages/ModelingToolkit/2xPD3/src/systems/abstractsystem.jl:2297
│      [2] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [3] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [8] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: failed to run `@example` block in src/index.md:194-206
│ ```@example LINEAIZE_SYMBOLIC
│ defs = ModelingToolkit.defaults(simplified_sys)
│ defs = merge(Dict(unknowns(model) .=> 0), defs)
│ x = ModelingToolkit.get_u0(simplified_sys, defs) # Extract the default state and parameter values
│ pars = ModelingToolkit.get_p(simplified_sys, defs, split=false)
│ 
│ fun = Symbolics.build_function(symbolic_sys, unknowns(simplified_sys), ModelingToolkit.parameters(simplified_sys);
│     expression = Val{false}, # Generate a compiled function rather than a Julia expression
│     force_SA   = true,       # Use static arrays instead of regular arrays, for higher performance 🚀
│ )
│ 
│ static_lsys = fun(x, pars) # We now have a function that takes state and parameters and returns the linearized system!
│ ```
│   exception =
│    UndefVarError: `get_p` not defined in `ModelingToolkit`
│    Suggestion: check for spelling errors or missing imports.
│    Stacktrace:
│      [1] getproperty(x::Module, f::Symbol)
│        @ Base ./Base_compiler.jl:47
│      [2] top-level scope
│        @ index.md:198
│      [3] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [4] #61
│        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
│      [5] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [6] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
│      [7] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [8] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [9] with_logger(f::Function, logger::ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│     [10] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [11] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47

3. Errors block (click)
[ Info: Populate: populating indices.
ERROR: LoadError: `makedocs` encountered an error [:example_block] -- terminating build before rendering.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:44
  [2] runner(::Type{Documenter.Builder.RenderDocument}, doc::Documenter.Document)
    @ Documenter ~/.julia/packages/Documenter/xvqbW/src/builder_pipeline.jl:259
  [3] dispatch(::Type{Documenter.Builder.DocumentPipeline}, x::Documenter.Document)
    @ Documenter.Selectors ~/.julia/packages/Documenter/xvqbW/src/utilities/Selectors.jl:170
  [4] #89
    @ ~/.julia/packages/Documenter/xvqbW/src/makedocs.jl:283 [inlined]
  [5] withenv(::Documenter.var"#89#90"{Documenter.Document}, ::Pair{String, Nothing}, ::Vararg{Pair{String, Nothing}})
    @ Base ./env.jl:265
  [6] #87
    @ ~/.julia/packages/Documenter/xvqbW/src/makedocs.jl:282 [inlined]
  [7] cd(f::Documenter.var"#87#88"{Documenter.Document}, dir::String)
    @ Base.Filesystem ./file.jl:112
  [8] makedocs(; debug::Bool, format::Documenter.HTMLWriter.HTML, kwargs::@Kwargs{…})
    @ Documenter ~/.julia/packages/Documenter/xvqbW/src/makedocs.jl:281
  [9] top-level scope
    @ ........./ControlSystemsMTK.jl/docs/make.jl:9
 [10] include(mapexpr::Function, mod::Module, _path::String)
    @ Base ./Base.jl:307
 [11] top-level scope
    @ REPL[79]:1
in expression starting at ........./ControlSystemsMTK.jl/docs/make.jl:9
Some type information was truncated. Use `show(err)` to see complete types.

Steps to reproduce:

  1. Install all dependencies mentioned in the documentation sections
  2. Navigate in Julia to the .../ControlSystemsMTK/docs/ folder
  3. run include("make.jl")
  4. get makedoc fail
    I am new to Julia, so couldn't find the corresponding log for this operation. Would appreciate it if someone pointed me to its location.

Regards

Activity

  1. baggepinnen commented on Jan 10, 2026

    @baggepinnen
    Member

    You need to instantiate the project environment in the docs folder before including make.jl

    You can also find the completed build here https://github.com/JuliaControl/ControlSystemsMTK.jl/tree/gh-pages/dev

  2. m57-prot commented on Jan 11, 2026

    @m57-prot
    Author

    I've repeated the same steps after instantiating, but still get errors:

    New batch of errors (click)
    
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:102-144
    │ ```@example BATCHLIN
    │ using OrdinaryDiffEqNonlinearSolve, OrdinaryDiffEqRosenbrock
    │ using DataInterpolations # Required to interpolate between the controllers
    │ @named fb  = Blocks.Add(k2=-1)
    │ @named ref = Blocks.Square(frequency=1/6, amplitude=0.5, offset=0.5, start_time=1)
    │ @named F   = Blocks.SecondOrder(w=15, d=1) # A reference pre-filter
    │ connect    = ModelingToolkit.connect
    │ 
    │ closed_loop_eqs = [
    │     connect(ref.output, :r0, F.input)
    │     connect(F.output,  :r, fb.input1) # Add an analysis point :r
    │     connect(duffing.y, :y, fb.input2) # Add an analysis point :y
    │ ]
    │ plot(layout=2)
    │ 
    │ # Simulate each individual controller
    │ for C in Cs
    │     @named Ci = System(C)
    │     eqs = [
    │         closed_loop_eqs
    │         connect(fb.output, Ci.input)
    │         connect(Ci.output, duffing.u)
    │     ]
    │     @named closed_loop = System(eqs, t, systems=[duffing, Ci, fb, ref, F])
    │     prob = ODEProblem(structural_simplify(closed_loop), [F.x => 0, F.xd => 0], (0.0, 8.0))
    │     sol = solve(prob, Rodas5P(), abstol=1e-8, reltol=1e-8)
    │     plot!(sol, idxs=[duffing.y.u, duffing.u.u], layout=2, lab="")
    │ end
    │ 
    │ # Simulate gain-scheduled controller
    │ @named Cgs = GainScheduledStateSpace(Cs, xs, interpolator=LinearInterpolation)
    │ eqs = [
    │     closed_loop_eqs
    │     connect(fb.output, Cgs.input)
    │     connect(Cgs.output, :u, duffing.u)
    │     connect(duffing.y, :v, Cgs.scheduling_input) # Don't forget to connect the scheduling variable!
    │ ]
    │ @named closed_loop = System(eqs, t, systems=[duffing, Cgs, fb, ref, F])
    │ prob = ODEProblem(structural_simplify(closed_loop), [F.xd => 0], (0.0, 8.0))
    │ sol = solve(prob, Rodas5P(), abstol=1e-8, reltol=1e-8, initializealg=SciMLBase.NoInit(), dtmax=0.01)
    │ plot!(sol, idxs=[duffing.y.u, duffing.u.u], l=(2, :red), lab="Gain scheduled")
    │ plot!(sol, idxs=F.output.u, l=(1, :black, :dash, 0.5), lab="Ref")
    │ ```
    │   exception =
    │    MethodError: no method matching System(::StateSpace{Continuous, Float64}; name::Symbol)
    │    The function `System` exists, but no method is defined for this combination of argument types.
    │    
    │    Closest candidates are:
    │      System(::AbstractVector{<:Equation}, ::Any, ::Any...; name, kw...)
    │       @ ModelingToolkit ~/.julia/packages/ModelingToolkit/2xPD3/src/systems/systems.jl:1
    │    
    │    Stacktrace:
    │      [1] macro expansion
    │        @ ~/.julia/packages/ModelingToolkit/2xPD3/src/systems/abstractsystem.jl:2297 [inlined]
    │      [2] top-level scope
    │        @ ./batch_linearization.md:119
    │      [3] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [4] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [5] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [6] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [7] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [8] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [9] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │     [10] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [11] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:160-164
    │ ```@example BATCHLIN
    │ timepoints = 0:0.01:8
    │ Ps2, ssys, ops2, resolved_ops = trajectory_ss(closed_loop, closed_loop.r, closed_loop.y, sol; t=timepoints, verbose=true);
    │ bodeplot(Ps2, w, legend=false)
    │ ```
    │   exception =
    │    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
    │    Suggestion: check for spelling errors or missing imports.
    │    Stacktrace:
    │      [1] top-level scope
    │        @ batch_linearization.md:162
    │      [2] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [3] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:176-183
    │ ```@example BATCHLIN
    │ kwargs = (; adaptive=false, legend=false)
    │ plants, _ = trajectory_ss(closed_loop, closed_loop.u, closed_loop.y, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.u]);
    │ controllersy, ssy, ops3, resolved_ops3 = trajectory_ss(closed_loop, closed_loop.r, closed_loop.u, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.y]);
    │ 
    │ closed_loopsy = feedback.(plants .* controllersy)
    │ bodeplot(closed_loopsy, w; title="Loop open at y", kwargs...)
    │ ```
    │   exception =
    │    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
    │    Suggestion: check for spelling errors or missing imports.
    │    Stacktrace:
    │      [1] top-level scope
    │        @ batch_linearization.md:178
    │      [2] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [3] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:185-190
    │ ```@example BATCHLIN
    │ controllersu, ssu = trajectory_ss(closed_loop, closed_loop.r, closed_loop.u, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.u]);
    │ 
    │ closed_loopsu = feedback.(plants .* controllersu)
    │ bodeplot(closed_loopsu, w; title="Loop open at u", kwargs...)
    │ ```
    │   exception =
    │    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
    │    Suggestion: check for spelling errors or missing imports.
    │    Stacktrace:
    │      [1] top-level scope
    │        @ batch_linearization.md:186
    │      [2] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [3] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:192-197
    │ ```@example BATCHLIN
    │ controllersv, ssv = trajectory_ss(closed_loop, closed_loop.r, closed_loop.u, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.y, closed_loop.v]);
    │ 
    │ closed_loopsv = feedback.(plants .* controllersv)
    │ bodeplot(closed_loopsv, w; title="Loop open at v and y", kwargs...)
    │ ```
    │   exception =
    │    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
    │    Suggestion: check for spelling errors or missing imports.
    │    Stacktrace:
    │      [1] top-level scope
    │        @ batch_linearization.md:193
    │      [2] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [3] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:201-207
    │ ```@example BATCHLIN
    │ plants_mimo, _ = trajectory_ss(closed_loop, closed_loop.u, [closed_loop.y, closed_loop.v], sol; t=timepoints, verbose=true, loop_openings=[closed_loop.u]);
    │ controllers_mimo, ssm = trajectory_ss(closed_loop, [closed_loop.r, closed_loop.v], closed_loop.u, sol; t=timepoints, verbose=true, loop_openings=[closed_loop.u]);
    │ 
    │ closed_loops_mimo = feedback.(controllers_mimo .* plants_mimo) # Look at complementary sensitivity function in the input, since this is a SISO system
    │ bodeplot(closed_loops_mimo, w; title="Loop open at MIMO", kwargs...)
    │ ```
    │   exception =
    │    UndefVarError: `closed_loop` not defined in `Main.__atexample__named__BATCHLIN`
    │    Suggestion: check for spelling errors or missing imports.
    │    Stacktrace:
    │      [1] top-level scope
    │        @ batch_linearization.md:202
    │      [2] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [3] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:213-220
    │ ```@example BATCHLIN
    │ plot(
    │     bodeplot(Cs,           w, legend=false, plotphase=false, title="Designed controllers"),
    │     bodeplot(controllersy, w, legend=false, plotphase=false, title="Loop open at y"),
    │     bodeplot(controllersu, w, legend=false, plotphase=false, title="Loop open at u"),
    │     bodeplot(controllersv, w, legend=false, plotphase=false, title="Loop open at v and y"),
    │ )
    │ ```
    │   exception =
    │    UndefVarError: `controllersy` not defined in `Main.__atexample__named__BATCHLIN`
    │    Suggestion: check for spelling errors or missing imports.
    │    Stacktrace:
    │      [1] top-level scope
    │        @ batch_linearization.md:214
    │      [2] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [3] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:222-225
    │ ```@example BATCHLIN
    │ using Test
    │ @test all(sminreal.(controllersv) .== sminreal.(controllersu))
    │ ```
    │   exception = There was an error during testing
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:228-230
    │ ```@example BATCHLIN
    │ sminreal(controllersy[end]).x
    │ ```
    │   exception =
    │    UndefVarError: `controllersy` not defined in `Main.__atexample__named__BATCHLIN`
    │    Suggestion: check for spelling errors or missing imports.
    │    Stacktrace:
    │      [1] top-level scope
    │        @ batch_linearization.md:229
    │      [2] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [3] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:232-234
    │ ```@example BATCHLIN
    │ sminreal(controllersu[end]).x
    │ ```
    │   exception =
    │    UndefVarError: `controllersu` not defined in `Main.__atexample__named__BATCHLIN`
    │    Suggestion: check for spelling errors or missing imports.
    │    Stacktrace:
    │      [1] top-level scope
    │        @ batch_linearization.md:233
    │      [2] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [3] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/batch_linearization.md:252-254
    │ ```@example BATCHLIN
    │ @test sol(6.99, idxs=closed_loop.duffing.y.u) ≈ 0.0 atol=0.01
    │ ```
    │   exception = There was an error during testing
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/index.md:69-71
    │ ```@example CONNECT
    │ @named P_ode = System(P)
    │ ```
    │   exception =
    │    MethodError: no method matching System(::NamedStateSpace{Continuous, StateSpace{Continuous, Float64}}; name::Symbol)
    │    The function `System` exists, but no method is defined for this combination of argument types.
    │    
    │    Closest candidates are:
    │      System(::AbstractVector{<:Equation}, ::Any, ::Any...; name, kw...)
    │       @ ModelingToolkit ~/.julia/packages/ModelingToolkit/2xPD3/src/systems/systems.jl:1
    │    
    │    Stacktrace:
    │      [1] top-level scope
    │        @ ~/.julia/packages/ModelingToolkit/2xPD3/src/systems/abstractsystem.jl:2297
    │      [2] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [3] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [4] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [5] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [6] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [7] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [8] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │      [9] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [10] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    ┌ Error: failed to run `@example` block in src/index.md:194-206
    │ ```@example LINEAIZE_SYMBOLIC
    │ defs = ModelingToolkit.defaults(simplified_sys)
    │ defs = merge(Dict(unknowns(model) .=> 0), defs)
    │ x = ModelingToolkit.get_u0(simplified_sys, defs) # Extract the default state and parameter values
    │ pars = ModelingToolkit.get_p(simplified_sys, defs, split=false)
    │ 
    │ fun = Symbolics.build_function(symbolic_sys, unknowns(simplified_sys), ModelingToolkit.parameters(simplified_sys);
    │     expression = Val{false}, # Generate a compiled function rather than a Julia expression
    │     force_SA   = true,       # Use static arrays instead of regular arrays, for higher performance 🚀
    │ )
    │ 
    │ static_lsys = fun(x, pars) # We now have a function that takes state and parameters and returns the linearized system!
    │ ```
    │   exception =
    │    UndefVarError: `get_p` not defined in `ModelingToolkit`
    │    Suggestion: check for spelling errors or missing imports.
    │    Stacktrace:
    │      [1] getproperty(x::Module, f::Symbol)
    │        @ Base ./Base_compiler.jl:47
    │      [2] top-level scope
    │        @ index.md:198
    │      [3] eval(m::Module, e::Any)
    │        @ Core ./boot.jl:489
    │      [4] #61
    │        @ ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:879 [inlined]
    │      [5] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
    │        @ Base.Filesystem ./file.jl:112
    │      [6] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:878
    │      [7] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
    │      [8] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
    │        @ Base.CoreLogging ./logging/logging.jl:542
    │      [9] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
    │        @ Base.CoreLogging ./logging/logging.jl:653
    │     [10] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
    │        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
    │     [11] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    │        @ Documenter ~/.julia/packages/Documenter/xvqbW/src/expander_pipeline.jl:877
    └ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions