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

Package is broken on LTS #40

Closed
gdalle opened this issue Aug 11, 2024 · 2 comments
Closed

Package is broken on LTS #40

gdalle opened this issue Aug 11, 2024 · 2 comments

Comments

@gdalle
Copy link

gdalle commented Aug 11, 2024

The recent release v1.7 of this package does something fishy with Requires, and as a result it is broken on Julia LTS. This means that a ton of downstream packages are broken too, like ComponentArrays and DI's tests (see JuliaDiff/DifferentiationInterface.jl#409).
Since #39 dropped support for Julia LTS, v1.7 is the latest version of StaticArrayInterface that can be installed on LTS. Can we maybe get a fix backported there?
Ping @ChrisRackauckas @KristofferC

MWE:

julia> VERSION
v"1.6.7"

(@v1.6) pkg> activate --temp
  Activating new environment at `/var/folders/cx/7tl61h5d5tvbhk6xjtnyb85m0000gn/T/jl_eZtOUm/Project.toml`

(jl_eZtOUm) pkg> add StaticArrayInterface
  Installing known registries into `~/.julia`
       Added registry `General` to `~/.julia/registries/General`
   Resolving package versions...
   Installed StaticArrayInterface ─ v1.7.0
   Installed Compat ─────────────── v4.16.0
   Installed Static ─────────────── v0.8.9
   Installed ArrayInterface ─────── v7.5.1
    Updating `/private/var/folders/cx/7tl61h5d5tvbhk6xjtnyb85m0000gn/T/jl_eZtOUm/Project.toml`
  [0d7ed370] + StaticArrayInterface v1.7.0
    Updating `/private/var/folders/cx/7tl61h5d5tvbhk6xjtnyb85m0000gn/T/jl_eZtOUm/Manifest.toml`
  [79e6a3ab] + Adapt v3.7.2
  [4fba245c] + ArrayInterface v7.5.1
  [34da2185] + Compat v4.16.0
  [615f187c] + IfElse v0.1.1
  [aea7be01] + PrecompileTools v1.2.1
  [21216c6a] + Preferences v1.4.3
  [ae029012] + Requires v1.3.0
  [aedffcd0] + Static v0.8.9
  [0d7ed370] + StaticArrayInterface v1.7.0
  [ade2ca70] + Dates
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [de0858da] + Printf
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [2f01184e] + SparseArrays
  [4607b0f0] + SuiteSparse
  [fa267f1f] + TOML
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
Precompiling project...
  ✓ Preferences
  ✗ StaticArrayInterface
  7 dependencies successfully precompiled in 12 seconds (1 already precompiled)
  1 dependency precompiled but a different version is currently loaded. Restart julia to access the new version
  1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package

julia> using StaticArrayInterface
[ Info: Precompiling StaticArrayInterface [0d7ed370-da01-4f52-bd93-41d350b8b718]
ERROR: LoadError: ArgumentError: Package StaticArrayInterface does not have Requires in its dependencies:
- If you have StaticArrayInterface checked out for development and have
  added Requires as a dependency but haven't updated your primary
  environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with StaticArrayInterface
Stacktrace:
 [1] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:906
 [2] top-level scope
   @ ~/.julia/packages/StaticArrayInterface/F5Syf/src/StaticArrayInterface.jl:490
 [3] include
   @ ./Base.jl:384 [inlined]
 [4] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
   @ Base ./loading.jl:1235
 [5] top-level scope
   @ none:1
 [6] eval
   @ ./boot.jl:360 [inlined]
 [7] eval(x::Expr)
   @ Base.MainInclude ./client.jl:446
 [8] top-level scope
   @ none:1
in expression starting at /Users/guillaume/.julia/packages/StaticArrayInterface/F5Syf/src/StaticArrayInterface.jl:1
ERROR: Failed to precompile StaticArrayInterface [0d7ed370-da01-4f52-bd93-41d350b8b718] to /Users/guillaume/.julia/compiled/v1.6/StaticArrayInterface/jl_TxJgXD.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1385
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1329
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1043
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:936
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:923
@ChrisRackauckas
Copy link
Member

I think we can just yank the v1.7 release with #38. I'm not sure why that gives Requires.jl issues but it seems to, and it's probably not worth spending more time on since the v1.10+ version simply removes Requires. So leaving the old v1.6 version to just always use Requires and v1.8 with it fully removed is a simple solution.

@gdalle
Copy link
Author

gdalle commented Aug 12, 2024

thanks!

@gdalle gdalle closed this as completed Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants