Singular.jl icon indicating copy to clipboard operation
Singular.jl copied to clipboard

Singular.jl broken, possibly due to new Singular_jll release?

Open fingolfin opened this issue 7 months ago • 3 comments

The Singular.jl CI tests started to fail. Nothing in Singular.jl changed, but there is a new Singular_jll release which is

sideal.slimgb: Error During Test at /Users/runner/work/Singular.jl/Singular.jl/test/ideal/sideal-test.jl:398
  Test threw exception
  Expression: isequal(B, Ideal(R, 2 * y ^ 2 + 3, x ^ 2 + x * y + 1)) || isequal(B, Ideal(x ^ 2 + x * y + 1, 2 * y ^ 2 + 3))
  MethodError: no method matching Ideal(::spoly{n_Q}, ::spoly{n_Q})
  
  Closest candidates are:
    Ideal(::PolyRing{T}, ::spoly{T}...) where T<:AbstractAlgebra.RingElem
     @ Singular ~/work/Singular.jl/Singular.jl/src/ideal/ideal.jl:1188
  
  Stacktrace:
   [1] macro expansion
     @ ~/work/Singular.jl/Singular.jl/test/ideal/sideal-test.jl:398 [inlined]
   [2] macro expansion
     @ ~/hostedtoolcache/julia/1.10.4/aarch64/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined]
   [3] macro expansion
     @ ~/work/Singular.jl/Singular.jl/test/ideal/sideal-test.jl:398 [inlined]
   [4] macro expansion
     @ ~/hostedtoolcache/julia/1.10.4/aarch64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
   [5] top-level scope
     @ ~/work/Singular.jl/Singular.jl/test/ideal/sideal-test.jl:384
Test Summary: | Pass  Error  Total  Time
sideal.slimgb |    3      1      4  0.8s
ERROR: LoadError: Some tests did not pass: 3 passed, 0 failed, 1 errored, 0 broken.
in expression starting at /Users/runner/work/Singular.jl/Singular.jl/test/ideal/sideal-test.jl:383
in expression starting at /Users/runner/work/Singular.jl/Singular.jl/test/ideal-test.jl:1
in expression starting at /Users/runner/work/Singular.jl/Singular.jl/test/runtests.jl:17
ERROR: LoadError: Package Singular errored during testing

If I downgrade Singular_jll from v404.0.301 to v404.0.100 it works.

Possible solutions:

  1. we yank that Singular_jll version from the registry, and re-release it with a version number offset that modifies the "minor" (middle) part, i.e. offset 0.1.0 or so
  2. update Singular.jl to deal with the changes, increase the Singular_jll compat to ~404.000.301, and make a quick release
  3. update Singular.jl to use Singular_jll compat =404.000.100` and make a quick release.

@hannes14 I can't judge how hard/easy option 2 would be. Which should we try?

fingolfin avatar Jun 27 '24 22:06 fingolfin