Skip to content
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

remove recompilation dependency check in Pkg.precompile #3696

Merged
merged 2 commits into from Nov 11, 2023

Conversation

KristofferC
Copy link
Sponsor Member

@KristofferC KristofferC commented Nov 10, 2023

This check forced packages to recompile if triggers for extensions of their dependencies were added.

This could be reproduced the following way:

  • Add ColorSchemes
  • Precompile
  • Add SpecialFunctions
  • Notice that ColorSchemes now required precompilation again because the extension of SpecialFunctions in ColorVectorSpace (which is a dependency of ColorSchemes) is now "active".

The last step doesn't make sense because the SpecialFunctions extension doesn't influence ColorSchemes in any way.

This check should in theory just be removable since Base.isprecompiled should handle checking that all dependencies are valid for the package being precompiled.

This check forced packages to recompile if triggers for extensions of their dependencies were added.

This could be reproduced the following way:

- Add `ColorSchemes`
- Precompile
- Add `SpecialFunctions`
- Notice that `ColorSchemes` now required precompilation again because the extension of SpecialFunctions in ColorVectorSpace is now "active".

The last step doesn't make sense because the extension SpecialFunctions doesn't influence ColorSchemes in any way.

This check should in theory just be removable since `Base.isprecompiled` should handle checking that all dependencies are valid for the package being precompiled.
src/API.jl Outdated Show resolved Hide resolved
Copy link
Sponsor Member

@IanButterworth IanButterworth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to explain this. Our ability to check the cache state was limited in the past and I forgot to remove this failsafe when Base.isprecompiled was added.

@IanButterworth IanButterworth merged commit debc38b into master Nov 11, 2023
13 checks passed
@IanButterworth IanButterworth deleted the KristofferC-patch-3 branch November 11, 2023 04:23
KristofferC added a commit that referenced this pull request Nov 13, 2023
Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com>
(cherry picked from commit debc38b)
KristofferC added a commit that referenced this pull request Nov 13, 2023
Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com>
(cherry picked from commit debc38b)
KristofferC added a commit that referenced this pull request Nov 13, 2023
Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com>
(cherry picked from commit debc38b)
KristofferC added a commit to JuliaLang/julia that referenced this pull request Nov 13, 2023
Backports a single commit to Pkg
(JuliaLang/Pkg.jl#3696) which caused Pkg
parallel precompile to sometimes recompile packages that were already
compiled.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants