Skip to content

Compatibility with Makie #192

@henry2004y

Description

@henry2004y

Hi,

While checking if GeometricIntegrators.jl work with Makie, I had some precompilation errors with the Polynomial package:

Loading packages
julia> using GeometricIntegrators

julia> using GLMakie
[ Info: Precompiling PolynomialsMakieExt [6a4b1961-d857-5aa3-b7f6-fc7c46de29bb]
ERROR: LoadError: UndefVarError: `XYBased` not defined in `Makie`
Suggestion: check for spelling errors or missing imports.
Stacktrace:
 [1] getproperty(x::Module, f::Symbol)
   @ Base .\Base.jl:42
 [2] top-level scope
   @ C:\Users\hyzho\.julia\packages\Polynomials\13Ozz\ext\PolynomialsMakieExt.jl:6
 [3] include
   @ .\Base.jl:557 [inlined]
 [4] 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:2881
 [5] top-level scope
   @ stdin:6
in expression starting at C:\Users\hyzho\.julia\packages\Polynomials\13Ozz\ext\PolynomialsMakieExt.jl:1
in expression starting at stdin:6
┌ Error: Error during loading of extension PolynomialsMakieExt of Polynomials, use `Base.retry_load_extensions()` to retry.
│   exception =1-element ExceptionStack:
│    Failed to precompile PolynomialsMakieExt [6a4b1961-d857-5aa3-b7f6-fc7c46de29bb] to "C:\\Users\\hyzho\\.julia\\compiled\\v1.11\\PolynomialsMakieExt\\jl_C44.tmp".
│    Stacktrace:
│      [1] error(s::String)
│        @ Base .\error.jl:35
│      [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool; flags::Cmd, cacheflags::Base.CacheFlags, reasons::Dict{String, Int64}, loadable_exts::Vector{Base.PkgId})
│        @ Base .\loading.jl:3174
│      [3] (::Base.var"#1110#1111"{Base.PkgId})()
│        @ Base .\loading.jl:2579
│      [4] mkpidlock(f::Base.var"#1110#1111"{Base.PkgId}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
│        @ FileWatching.Pidfile C:\Users\hyzho\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\FileWatching\src\pidfile.jl:95
│      [5] #mkpidlock#6
│        @ C:\Users\hyzho\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\FileWatching\src\pidfile.jl:90 [inlined]
│      [6] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
│        @ FileWatching.Pidfile C:\Users\hyzho\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\FileWatching\src\pidfile.jl:116
│      [7] #invokelatest#2
│        @ .\essentials.jl:1057 [inlined]
│      [8] invokelatest
│        @ .\essentials.jl:1052 [inlined]
│      [9] maybe_cachefile_lock(f::Base.var"#1110#1111"{Base.PkgId}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
│        @ Base .\loading.jl:3698
│     [10] maybe_cachefile_lock
│        @ .\loading.jl:3695 [inlined]
│     [11] _require(pkg::Base.PkgId, env::Nothing)
│        @ Base .\loading.jl:2565
│     [12] __require_prelocked(uuidkey::Base.PkgId, env::Nothing)
│        @ Base .\loading.jl:2388
│     [13] #invoke_in_world#3
│        @ .\essentials.jl:1089 [inlined]
│     [14] invoke_in_world
│        @ .\essentials.jl:1086 [inlined]
│     [15] _require_prelocked
│        @ .\loading.jl:2375 [inlined]
│     [16] _require_prelocked
│        @ .\loading.jl:2374 [inlined]
│     [17] run_extension_callbacks(extid::Base.ExtensionId)
│        @ Base .\loading.jl:1544
│     [18] run_extension_callbacks(pkgid::Base.PkgId)
│        @ Base .\loading.jl:1576
│     [19] run_package_callbacks(modkey::Base.PkgId)
│        @ Base .\loading.jl:1396
│     [20] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128, stalecheck::Bool; reasons::Dict{String, Int64}, DEPOT_PATH::Vector{String})
│        @ Base .\loading.jl:2065
│     [21] _require(pkg::Base.PkgId, env::String)
│        @ Base .\loading.jl:2527
│     [22] __require_prelocked(uuidkey::Base.PkgId, env::String)
│        @ Base .\loading.jl:2388
│     [23] #invoke_in_world#3
│        @ .\essentials.jl:1089 [inlined]
│     [24] invoke_in_world
│        @ .\essentials.jl:1086 [inlined]
│     [25] _require_prelocked(uuidkey::Base.PkgId, env::String)
│        @ Base .\loading.jl:2375
│     [26] macro expansion
│        @ .\loading.jl:2314 [inlined]
│     [27] macro expansion
│        @ .\lock.jl:273 [inlined]
│     [28] __require(into::Module, mod::Symbol)
│        @ Base .\loading.jl:2271
│     [29] #invoke_in_world#3
│        @ .\essentials.jl:1089 [inlined]
│     [30] invoke_in_world
│        @ .\essentials.jl:1086 [inlined]
│     [31] require(into::Module, mod::Symbol)
│        @ Base .\loading.jl:2260
│     [32] eval
│        @ .\boot.jl:430 [inlined]
│     [33] eval_user_input(ast::Any, backend::REPL.REPLBackend, mod::Module)
│        @ REPL C:\Users\hyzho\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\REPL\src\REPL.jl:261
│     [34] repl_backend_loop(backend::REPL.REPLBackend, get_module::Function)
│        @ REPL C:\Users\hyzho\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\REPL\src\REPL.jl:368
│     [35] start_repl_backend(backend::REPL.REPLBackend, consumer::Any; get_module::Function)
│        @ REPL C:\Users\hyzho\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\REPL\src\REPL.jl:343
│     [36] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool, backend::Any)
│        @ REPL C:\Users\hyzho\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\REPL\src\REPL.jl:500
│     [37] run_repl(repl::REPL.AbstractREPL, consumer::Any)
│        @ REPL C:\Users\hyzho\.julia\juliaup\julia-1.11.5+0.x64.w64.mingw32\share\julia\stdlib\v1.11\REPL\src\REPL.jl:486
│     [38] (::Base.var"#1150#1152"{Bool, Symbol, Bool})(REPL::Module)
│        @ Base .\client.jl:446
│     [39] #invokelatest#2
│        @ .\essentials.jl:1055 [inlined]
│     [40] invokelatest
│        @ .\essentials.jl:1052 [inlined]
│     [41] run_main_repl(interactive::Bool, quiet::Bool, banner::Symbol, history_file::Bool, color_set::Bool)
│        @ Base .\client.jl:430
│     [42] repl_main
│        @ .\client.jl:567 [inlined]
│     [43] _start()
│        @ Base .\client.jl:541
└ @ Base loading.jl:1550

However, it does not affect the actual Makie usage. I am also a bit surprised that it complained about PolynomialsMakieExt, since GeometricIntegrators.jl does not seem to depend on Polynomials.jl explicitly. Maybe it's an indirect dependency.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions