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

Don't factor JLLs into the resolver decision when multiple update options are possible #3898

Open
IanButterworth opened this issue May 9, 2024 · 1 comment
Labels

Comments

@IanButterworth
Copy link
Sponsor Member

IanButterworth commented May 9, 2024

The package is usually the user-facing version not the JLL.

In some cases new JLL versions being available can force packages to be downgraded.

For instance FFMPEG_jll v6.1.1 exists but is incompatible with VideoIO after v1.0.9 (currently), when VideoIO took FFMPEG_jll on as a direct dep (to control compat), so this happens

(Foo) pkg> up
    Updating registry at `~/.julia/registries/General.toml`
   Installed BinaryProvider ─ v0.5.10
   Installed FFMPEG ───────── v0.2.4
   Installed FFMPEG_jll ───── v6.1.1+0
   Installed VideoIO ──────── v1.0.8
  Downloaded artifact: FFMPEG
  No Changes to `~/Documents/GitHub/Foo/Project.toml`
    Updating `~/Documents/GitHub/Foo/Manifest.toml`
  [b99e7846] + BinaryProvider v0.5.10
⌃ [c87230d0] ↓ FFMPEG v0.4.1 ⇒ v0.2.4
⌃ [d6d074c3] ↓ VideoIO v1.1.0 ⇒ v1.0.8
  [b22a6f82] ↑ FFMPEG_jll v4.4.4+1 ⇒ v6.1.1+0

This can't cleanly be fixed in the registry too, because before v1.0.9 VideoIO didn't have FFMPEG_jll as a direct dep, so we would have to add deps to old versions, which feels nonideal.

One strategy would be to ignore JLLs when counting the cost of different resolver update paths.
The other would be some reduced weighting for JLLs.

I prefer just ignoring JLLs.

@ChrisRackauckas
Copy link
Member

I just hit this and agree, the user wants a working Julia package, not the latest JLL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants