How to make app using PackageCompiler fully offline

When I run an app using PackageCompiler it somehow downloaded MKL at first startup:

byakuya@ifrit-hpc ~/a/bin> ./acq_prod 
  Downloaded artifact: MKL
  Downloaded artifact: MKL

My project.toml is this:

name = "acq_prod"
uuid = "d35d9be9-77fe-43a0-b67c-91e860872321"
version = "0.1.0"

Acquisition = "d4bbf60b-102b-5ffb-8f97-a7ea5817e69f"
Diana = "070d9d8b-17a7-5814-83fa-42438ba5c6e0"
FLoops = "cc61a311-1640-44b5-9fba-1b764f453329"
GNSSSignals = "52c80523-2a4e-5c38-8979-05588f836870"
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"

No MKL, but somehow it download MKL at startup. Is there a way to stop it?
My goal is to run this on a offline Raspberry Pi

When you build the app using PackageCompiler.create_app(...), you probably want to pass the include_lazy_artifacts = true keyword argument.

1 Like

In which situations does it make sense to use the current default value for include_lazy_artifacts=false?
I wonder, if it makes sense to change the default value for this parameter inside the package ProjectCompiler.jl to true.
Even the example project, included in ProjectCompiler.jl
does not compile on my machine without this option set to true.