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

does not allow current version of MKL_jll #274

Closed
JeffreySarnoff opened this issue May 31, 2023 · 10 comments
Closed

does not allow current version of MKL_jll #274

JeffreySarnoff opened this issue May 31, 2023 · 10 comments

Comments

@JeffreySarnoff
Copy link

In almost new directory (added Ipopt first):

pkg> add SCS
...
pkg> status --outdated -m
⌅ [856f044c] MKL_jll v2022.2.0+0 (<v2023.1.0+0): SCS_MKL_jll
@odow
Copy link
Member

odow commented May 31, 2023

Blocked by JuliaPackaging/Yggdrasil#6766. We have to be very careful with this one. It's a known issue.

@JeffreySarnoff
Copy link
Author

Thank you for the informative, very prompt responses.

@odow
Copy link
Member

odow commented May 31, 2023

very prompt responses

My secret is that it's 2pm in New Zealand 😄

@kalmarek
Copy link
Collaborator

@odow I don't quite understand why this is still happening:

$ JULIA_DEPOT_PATH=/tmp/julia_tmp_depot julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.9.1 (2023-06-07)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.9) pkg> add SCS_MKL_jll
    Updating registry at `/tmp/julia_tmp_depot/registries/General.toml`
   Resolving package versions...
   Installed IntelOpenMP_jll ─ v2023.1.0+0
   Installed SCS_MKL_jll ───── v3.2.3+1
   Installed MKL_jll ───────── v2022.2.0+0
   Installed Preferences ───── v1.4.0
   Installed JLLWrappers ───── v1.4.1
  Downloaded artifact: IntelOpenMP
  Downloaded artifact: SCS_MKL
    Updating `/tmp/julia_tmp_depot/environments/v1.9/Project.toml`
  [3f2553a9] + SCS_MKL_jll v3.2.3+1
    Updating `/tmp/julia_tmp_depot/environments/v1.9/Manifest.toml`
  [692b3bcd] + JLLWrappers v1.4.1
  [21216c6a] + Preferences v1.4.0
  [1d5cc7b8] + IntelOpenMP_jll v2023.1.0+0
⌅ [856f044c] + MKL_jll v2022.2.0+0
  [3f2553a9] + SCS_MKL_jll v3.2.3+1
  [0dad84c5] + ArgTools v1.1.1
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [f43a241f] + Downloads v1.6.0
  [7b1f6079] + FileWatching
  [b77e0a4c] + InteractiveUtils
  [4af54fe1] + LazyArtifacts
  [b27032c2] + LibCURL v0.6.3
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [ca575930] + NetworkOptions v1.2.0
  [44cfe95a] + Pkg v1.9.0
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA v0.7.0
  [9e88b42a] + Serialization
  [6462fe0b] + Sockets
  [fa267f1f] + TOML v1.0.3
  [a4e569a6] + Tar v1.10.0
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [deac9b47] + LibCURL_jll v7.84.0+0
  [29816b5a] + LibSSH2_jll v1.10.2+0
  [c8ffd9c3] + MbedTLS_jll v2.28.2+0
  [14a3606d] + MozillaCACerts_jll v2022.10.11
  [83775a58] + Zlib_jll v1.2.13+0
  [8e850ede] + nghttp2_jll v1.48.0+0
  [3f19e933] + p7zip_jll v17.4.0+0
        Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`
Precompiling project...
  8 dependencies successfully precompiled in 2 seconds

(@v1.9) pkg> add MKL_jll@2023
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package SCS_MKL_jll [3f2553a9]:
 SCS_MKL_jll [3f2553a9] log:
 ├─possible versions are: 3.2.1-3.2.3 or uninstalled
 ├─restricted to versions * by an explicit requirement, leaving only versions: 3.2.1-3.2.3
 └─restricted by compatibility requirements with MKL_jll [856f044c] to versions: uninstalled — no versions left
   └─MKL_jll [856f044c] log:
     ├─possible versions are: 2019.0.117-2023.1.0 or uninstalled
     └─restricted to versions 2023 by an explicit requirement, leaving only versions: 2023.1.0

@odow
Copy link
Member

odow commented Jun 11, 2023

Releasing that version didn't update the compat in the registry:
https://github.com/JuliaRegistries/General/blob/f6a8f2f6c67541c797cd0bdfd8d03b65d67dc3e1/jll/S/SCS_MKL_jll/Compat.toml#L8-L9

I guess we did need to bump the version

@kalmarek
Copy link
Collaborator

oh well;

After thinking maybe what Mose suggested is a better option:

  • make SCS_MKL_jll depends on MKL_jll unconditionally
  • use Require based on the presence of SCS_MKL_jll rather than MKL_jll

Then users workflow would look like

Pkg.add("SCS")
Pkg.add("SCS_MKL_jll")
import SCS_MKL_jll
using SCS

This way it's the role of SCS_MKL_jll to take care of its deps, not of the user. What do you think?

@odow
Copy link
Member

odow commented Jun 11, 2023

This will require us to release SCS 2.0, but that's okay.

@odow
Copy link
Member

odow commented Jun 11, 2023

We could also just edit the general registry

@odow
Copy link
Member

odow commented Nov 12, 2023

See JuliaPackaging/Yggdrasil#7665

We'd change Requires to SCS_GPU_jll and SCS_MKL_jll, and we'd drop support for 3.2.3 and earlier. This likely requires a 2.0 release of SCS, but I'm okay with that.

@odow
Copy link
Member

odow commented Nov 20, 2023

Closed by #286

@odow odow closed this as completed Nov 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants