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

tweak how filtering is done for what packages should be precompiled #53957

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

KristofferC
Copy link
Sponsor Member

Due to a bug in Pkg (JuliaLang/Pkg.jl#3863) Pkg sometimes generates non-pruned manifests. When package precompilation encountered this it still somehow tried to precompile these orphan packages. To me, it seems that the filtering that the precompilation system does to only precompile requested packages comes a bit late when even extensions have been entered into the "depsmap".

This moves the filtering up earlier so that it happens at the creation of depsmap and from there on we see a "pruned view" of the environment and carry on like normally.

@KristofferC KristofferC added the backport 1.11 Change should be backported to release-1.11 label Apr 4, 2024
@IanButterworth
Copy link
Sponsor Member

Sounds good. Given this is working around a bug it's probably worth adding a test with a manifest with a bad entry.

@KristofferC
Copy link
Sponsor Member Author

Given this is working around a bug i

With workspaces I would argue this is a bugfix since you can have "orphan" entries in the manifest when looked at from the active projects p.o.v that are not orphan when looked at from the whole workspace p.o.v.

However, I am not clear on the exact conditions required to provoke this. My guess is that the package has a dependency that has a weak dependency that is the orphan package... Or something like that.

@KristofferC
Copy link
Sponsor Member Author

The assumption here is that the packages given to precompilepkgs are packages in the project file since those are the only ones you can load from Main but this is not completely true, it can also end up being an extension when the require callback fires and the extension has not been precompiled.

@KristofferC KristofferC mentioned this pull request Apr 9, 2024
41 tasks
@KristofferC KristofferC mentioned this pull request Apr 17, 2024
41 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 1.11 Change should be backported to release-1.11
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants