-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
1.11.0-alpha2: precompilation fails if JULIA_DEPOT_PATH
is set
#53983
Comments
It is a problem with #53326, which I was aware of there but didn't implement the handling for this |
@vtjnash, is this something you can take on? |
Probably not in the short term right now |
Fixes #53983 Unfortunately, TOML has a design problem with the way it is used by Pkg, so this does not yet work correctly. Need to finish changing uses of loaded_packages to explicit_loaded_modules in loading to try to make it less terribly broken.
Fixes #53983 Unfortunately, TOML has a design problem with the way it is used by Pkg, so this does not yet work correctly. Need to finish changing uses of loaded_packages to explicit_loaded_modules in loading to try to make it less terribly broken. Also currently one test is broken, as we need some more code rearrangement to make it legal again for an `__init__` method to import code.
Fixes #53983 This breaks one test, which relied on it being undefined behavior to rely on the execution of `__init__` having occurred before `using` is allowed to return. That usability issue is now (partially) eliminated.
This seems to be broken still in 1.11.0-rc1 (which was released after this issue was resolved):
|
Just for reference: the issue mentioned in #54739 (comment) also hasn't been fully resolved in 11.0-rc1. With
|
More followup to fix issues with require. There was an accidental variable reuse (build_id) that caused it to be unable to load cache files in many cases. There was also missing check for a dependency already being loaded, resulting in trying to load it twice. Finally, the start_loading code may drop the require_lock, but the surrounding code was not prepared for that. Now integrate the necessary checks into start_loading, instead of needing to duplicate them before and afterwards. Fixes #53983 Fixes #54940 Closes #55064
More followup to fix issues with require. There was an accidental variable reuse (build_id) that caused it to be unable to load cache files in many cases. There was also missing check for a dependency already being loaded, resulting in trying to load it twice. Finally, the start_loading code may drop the require_lock, but the surrounding code was not prepared for that. Now integrate the necessary checks into start_loading, instead of needing to duplicate them before and afterwards. Fixes #53983 Fixes #54940 Closes #55064
More followup to fix issues with require. There was an accidental variable reuse (build_id) that caused it to be unable to load cache files in many cases. There was also missing check for a dependency already being loaded, resulting in trying to load it twice. Finally, the start_loading code may drop the require_lock, but the surrounding code was not prepared for that. Now integrate the necessary checks into start_loading, instead of needing to duplicate them before and afterwards. Fixes #53983 Fixes #54940 Closes #55064
This now allows the user to load any number of copies of a module, and uses the combination of the environment, explicitly loaded modules, and the requirements of the precompile caches to determine the meaning of a name and which files need to be loaded. Note however that package extensions continue to primarily only apply to the explicitly loaded modules, although they may get loaded incidentally as the dependency of another package, they won't get defined for every pair of combinations of triggering modules. Fixes #53983 (cherry picked from commit a1a2ac6)
More followup to fix issues with require. There was an accidental variable reuse (build_id) that caused it to be unable to load cache files in many cases. There was also missing check for a dependency already being loaded, resulting in trying to load it twice. Finally, the start_loading code may drop the require_lock, but the surrounding code was not prepared for that. Now integrate the necessary checks into start_loading, instead of needing to duplicate them before and afterwards. Fixes #53983 Fixes #54940 Closes #55064 (cherry picked from commit fba928d)
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
, andJULIA_DEPOT_PATH
is set to the empty directory/tmp/julia-depot
. Then I try to install and use a package as follows:The check marks (✓) in front of
Unicode
andPrintf
are actually red and not green.Restarting:
If
JULIA_DEPOT_PATH
is not set, then the problem disappears.The text was updated successfully, but these errors were encountered: