-
Notifications
You must be signed in to change notification settings - Fork 156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
precompilation errors with SymbolicsForwardDiffExt and SymbolicsPreallocationToolsExt #1042
Comments
due to JuliaSymbolics/Symbolics.jl#1042 and JuliaSymbolics/Symbolics.jl@eacd116 Upgrade ExtendableSparse to 1.3
I've been trying to figure out what's going on here, JuliaLang/julia#52511 looks indeed like the issue. Though I'm not sure we can do anything about that other than wait for the patch. |
I thought it was the same issue also, but I'm less confident after testing the latest nightly which I believe includes a patch for JuliaLang/julia#52132 . On Julia Version 1.10.0 (2023-12-25) both Symbolics (v5.16.1) and AccessorsExtra (v0.1.65) error on precompilation. On the latest nightly Julia Version 1.11.0-DEV.1420 (2024-01-30), only Symbolics has the precompilation error. Error below: Precompiling project...
107 dependencies successfully precompiled in 55 seconds. 32 already precompiled.
2 dependencies had output during precompilation:
┌ Symbolics → SymbolicsForwardDiffExt
│ ┌ Warning: Module SymbolicsForwardDiffExt with build ID ffffffff-ffff-ffff-0000-3ed4cb751c5c is missing from the cache.
│ │ This may mean SymbolicsForwardDiffExt [4a213a23-c09c-5cde-9712-b631ad2c72df] does not support precompilation but is imported by a module that does.
│ └ @ Base loading.jl:2121
│ ┌ Error: Error during loading of extension SymbolicsForwardDiffExt of Symbolics, use `Base.retry_load_extensions()` to retry.
│ │ exception =
│ │ 1-element ExceptionStack:
│ │ Error when precompiling module, potentially caused by a __precompile__(false) declaration in the module.
│ │ Stacktrace:
│ │ [1] _require(pkg::Base.PkgId, env::Nothing)
│ │ @ Base ./loading.jl:2125
│ │ [2] __require_prelocked(uuidkey::Base.PkgId, env::Nothing)
│ │ @ Base ./loading.jl:1980
│ │ [3] #invoke_in_world#3
│ │ @ ./essentials.jl:1054 [inlined]
│ │ [4] invoke_in_world
│ │ @ ./essentials.jl:1051 [inlined]
│ │ [5] _require_prelocked
│ │ @ ./loading.jl:1971 [inlined]
│ │ [6] _require_prelocked
│ │ @ ./loading.jl:1970 [inlined]
│ │ [7] run_extension_callbacks(extid::Base.ExtensionId)
│ │ @ Base ./loading.jl:1374
│ │ [8] run_extension_callbacks(pkgid::Base.PkgId)
│ │ @ Base ./loading.jl:1409
│ │ [9] run_package_callbacks(modkey::Base.PkgId)
│ │ @ Base ./loading.jl:1234
│ │ [10] __require_prelocked(uuidkey::Base.PkgId, env::String)
│ │ @ Base ./loading.jl:1987
│ │ [11] #invoke_in_world#3
│ │ @ ./essentials.jl:1054 [inlined]
│ │ [12] invoke_in_world
│ │ @ ./essentials.jl:1051 [inlined]
│ │ [13] _require_prelocked(uuidkey::Base.PkgId, env::String)
│ │ @ Base ./loading.jl:1971
│ │ [14] macro expansion
│ │ @ ./loading.jl:1909 [inlined]
│ │ [15] macro expansion
│ │ @ ./lock.jl:272 [inlined]
│ │ [16] __require(into::Module, mod::Symbol)
│ │ @ Base ./loading.jl:1870
│ │ [17] #invoke_in_world#3
│ │ @ ./essentials.jl:1054 [inlined]
│ │ [18] invoke_in_world
│ │ @ ./essentials.jl:1051 [inlined]
│ │ [19] require(into::Module, mod::Symbol)
│ │ @ Base ./loading.jl:1863
│ │ [20] include
│ │ @ ./Base.jl:526 [inlined]
│ │ [21] 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::String)
│ │ @ Base ./loading.jl:2427
│ │ [22] top-level scope
│ │ @ stdin:3
│ │ [23] eval
│ │ @ ./boot.jl:428 [inlined]
│ │ [24] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
│ │ @ Base ./loading.jl:2249
│ │ [25] include_string
│ │ @ ./loading.jl:2259 [inlined]
│ │ [26] exec_options(opts::Base.JLOptions)
│ │ @ Base ./client.jl:316
│ │ [27] _start()
│ │ @ Base ./client.jl:525
│ └ @ Base loading.jl:1380
└
┌ Symbolics → SymbolicsPreallocationToolsExt
│ ┌ Warning: Module SymbolicsPreallocationToolsExt with build ID ffffffff-ffff-ffff-0000-3ed3cec2613e is missing from the cache.
│ │ This may mean SymbolicsPreallocationToolsExt [d479e226-fb54-5ebe-a75e-a7af7f39127f] does not support precompilation but is imported by a module that does.
│ └ @ Base loading.jl:2121
│ ┌ Error: Error during loading of extension SymbolicsPreallocationToolsExt of Symbolics, use `Base.retry_load_extensions()` to retry.
│ │ exception =
│ │ 1-element ExceptionStack:
│ │ Error when precompiling module, potentially caused by a __precompile__(false) declaration in the module.
│ │ Stacktrace:
│ │ [1] _require(pkg::Base.PkgId, env::Nothing)
│ │ @ Base ./loading.jl:2125
│ │ [2] __require_prelocked(uuidkey::Base.PkgId, env::Nothing)
│ │ @ Base ./loading.jl:1980
│ │ [3] #invoke_in_world#3
│ │ @ ./essentials.jl:1054 [inlined]
│ │ [4] invoke_in_world
│ │ @ ./essentials.jl:1051 [inlined]
│ │ [5] _require_prelocked
│ │ @ ./loading.jl:1971 [inlined]
│ │ [6] _require_prelocked
│ │ @ ./loading.jl:1970 [inlined]
│ │ [7] run_extension_callbacks(extid::Base.ExtensionId)
│ │ @ Base ./loading.jl:1374
│ │ [8] run_extension_callbacks(pkgid::Base.PkgId)
│ │ @ Base ./loading.jl:1409
│ │ [9] run_package_callbacks(modkey::Base.PkgId)
│ │ @ Base ./loading.jl:1234
│ │ [10] __require_prelocked(uuidkey::Base.PkgId, env::String)
│ │ @ Base ./loading.jl:1987
│ │ [11] #invoke_in_world#3
│ │ @ ./essentials.jl:1054 [inlined]
│ │ [12] invoke_in_world
│ │ @ ./essentials.jl:1051 [inlined]
│ │ [13] _require_prelocked(uuidkey::Base.PkgId, env::String)
│ │ @ Base ./loading.jl:1971
│ │ [14] macro expansion
│ │ @ ./loading.jl:1909 [inlined]
│ │ [15] macro expansion
│ │ @ ./lock.jl:272 [inlined]
│ │ [16] __require(into::Module, mod::Symbol)
│ │ @ Base ./loading.jl:1870
│ │ [17] #invoke_in_world#3
│ │ @ ./essentials.jl:1054 [inlined]
│ │ [18] invoke_in_world
│ │ @ ./essentials.jl:1051 [inlined]
│ │ [19] require(into::Module, mod::Symbol)
│ │ @ Base ./loading.jl:1863
│ │ [20] include
│ │ @ ./Base.jl:526 [inlined]
│ │ [21] 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::String)
│ │ @ Base ./loading.jl:2427
│ │ [22] top-level scope
│ │ @ stdin:3
│ │ [23] eval
│ │ @ ./boot.jl:428 [inlined]
│ │ [24] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
│ │ @ Base ./loading.jl:2249
│ │ [25] include_string
│ │ @ ./loading.jl:2259 [inlined]
│ │ [26] exec_options(opts::Base.JLOptions)
│ │ @ Base ./client.jl:316
│ │ [27] _start()
│ │ @ Base ./client.jl:525
│ └ @ Base loading.jl:1380
└ |
This bug in extension precompilation was worked around on the Symbolics.jl side as of v5.17.0 and fixes are in progress in Julia. See JuliaLang/julia#53081 and JuliaLang/julia#53112 to track progress. Thanks! |
With Julia 1.10 and Symbolics v5.16.1 I get precompilation errors. The errors are not present in Symbolics v5.16.0. This may be related to JuliaLang/julia#52132 and JuliaLang/julia#52511
To reproduce, remove the cache of compiled code:
and install Symbolics in a clean environment:
]activate --temp add Symbolics
then I get the error message below:
The text was updated successfully, but these errors were encountered: