Open topolarity opened 1 month ago
Related(ish): https://github.com/JuliaPackaging/JLLWrappers.jl/issues/65
To solve this we might need a way to do the using ...
without triggering the __init__
at pre-compilation time.
JLL's don't actually use their dependencies during (their own) pre-compilation, so they really don't need to run them - it's enough to defer the __init__
of their dependencies to when their own __init__
runs
We recently tried to make
IntelOpenMP_jll
lazy (https://github.com/JuliaPackaging/Yggdrasil/pull/9319), but unfortunately we mostly failed:MKL_jll
andIntelOpenMP_jll
are both intended to be "lazy" - they should not download their artifacts unless at least one of them is triggered by ausing
at runtime.However, IntelOpenMP is downloaded essentially because MKL_jll appears anywhere in your Manifest.
That's because the
using
(at precompile time) in MKL_jll implicitly triggers the lazy download, making it effectively eager (despite the fact that there's no runtimeusing
here)