Skip to content

Lazy artifacts are downloaded during pre-compilation by dependents #69

@topolarity

Description

@topolarity

We recently tried to make IntelOpenMP_jll lazy (JuliaPackaging/Yggdrasil#9319), but unfortunately we mostly failed:

(@v1.12) pkg> add MKL_jll
...
Precompiling packages finished.
  1 dependency successfully precompiled in 9 seconds. 24 already precompiled.
  1 dependency had output during precompilation:
┌ MKL_jll
│   Downloading artifact: IntelOpenMP
└

MKL_jll and IntelOpenMP_jll are both intended to be "lazy" - they should not download their artifacts unless at least one of them is triggered by a using 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 runtime using here)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions