Skip to content

1.11.0-alpha2: precompilation fails if JULIA_DEPOT_PATH is set #53983

@matthias314

Description

This is a duplicate of #53831. I'm creating a new issue because I now have a reproducible MWE and because the old issue was apparently not noticed.

Setup: There is no ~/.julia, and JULIA_DEPOT_PATH is set to the empty directory /tmp/julia-depot. Then I try to install and use a package as follows:

~$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.0-alpha2 (2024-03-18)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> versioninfo()
Julia Version 1.11.0-alpha2
Commit 9dfd28ab751 (2024-03-18 20:35 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × Intel(R) Core(TM) i3-10110U CPU @ 2.10GHz
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, skylake)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)
Environment:
  JULIA_DEPOT_PATH = /tmp/julia-depot

(@v1.11) pkg> st
  Installing known registries into `/tmp/julia-depot`
Status `/tmp/julia-depot/environments/v1.11/Project.toml` (empty project)

(@v1.11) pkg> add Chairmarks
    Updating registry at `/tmp/julia-depot/registries/General.toml`
   Resolving package versions...
   Installed Chairmarks ─ v1.2.1
    Updating `/tmp/julia-depot/environments/v1.11/Project.toml`
  [0ca39b1e] + Chairmarks v1.2.1
    Updating `/tmp/julia-depot/environments/v1.11/Manifest.toml`
  [0ca39b1e] + Chairmarks v1.2.1
  [de0858da] + Printf v1.11.0
  [4ec0a83e] + Unicode v1.11.0
Precompiling project...
  ✓ Unicode
  ✓ Printf
  3 dependencies successfully precompiled in 3 seconds
  2 dependencies precompiled but different versions are currently loaded. Restart julia to access the new versions

julia> using Chairmarks
[ Info: Precompiling Chairmarks [0ca39b1e-fe0b-4e98-acfc-b1656634c4de] (cache misses: wrong dep version loaded (2))
┌ Warning: Module Printf with build ID fafbfcfd-be51-2905-0028-424d602318e3 is missing from the cache.
│ This may mean Printf [de0858da-6303-5e67-8744-51eddeeeb8d7] does not support precompilation but is imported by a module that does.
└ @ Base loading.jl:2319
┌ Info: Skipping precompilation due to precompilable error. Importing Chairmarks [0ca39b1e-fe0b-4e98-acfc-b1656634c4de].
└   exception = nothing

julia>

The check marks (✓) in front of Unicode and Printf are actually red and not green.

Restarting:

~$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.0-alpha2 (2024-03-18)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.11) pkg> st
Status `/tmp/julia-depot/environments/v1.11/Project.toml`
  [0ca39b1e] Chairmarks v1.2.1

julia> using Chairmarks
[ Info: Precompiling Chairmarks [0ca39b1e-fe0b-4e98-acfc-b1656634c4de] (cache misses: wrong dep version loaded (2))
┌ Warning: Module Printf with build ID fafbfcfd-be51-2905-0028-424d602318e3 is missing from the cache.
│ This may mean Printf [de0858da-6303-5e67-8744-51eddeeeb8d7] does not support precompilation but is imported by a module that does.
└ @ Base loading.jl:2319
┌ Info: Skipping precompilation due to precompilable error. Importing Chairmarks [0ca39b1e-fe0b-4e98-acfc-b1656634c4de].
└   exception = nothing

julia>

If JULIA_DEPOT_PATH is not set, then the problem disappears.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    packagesPackage management and loading

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions