sagemath/sage

Upgrade: Singular 4.2.1

Closed this issue · 40 comments

released 2021-06-09

Previous update: #31642 (4.2.0p3)

CC: @kiwifb @mkoeppe @orlitzky

Component: packages: standard

Keywords: upgrade, singular

Author: Samuel Lelièvre

Branch/Commit: 0629663

Reviewer: Matthias Koeppe

Issue created by migration from https://trac.sagemath.org/ticket/32001

comment:1

This will need careful checking in particular on Cygwin.
It appears that the last update to 4.2.0p3 broke Cygwin again - https://github.com/mkoeppe/sage/runs/2909494587?check_suite_focus=true

 [pynac-0.7.27.p8]   /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: .libs/libpynac_la-mpoly-singular.o:/opt/sage-a9c3c18820b8c96cd2336b90dc480417eaefd6d6/var/tmp/sage/build/pynac-0.7.27.p8/src/ginac/mpoly-singular.cpp:110: undefined reference to `operator-(CanonicalForm const&)'
  [pynac-0.7.27.p8]   /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: .libs/libpynac_la-mpoly-singular.o: in function `num2canonical':
  [pynac-0.7.27.p8]   /opt/sage-a9c3c18820b8c96cd2336b90dc480417eaefd6d6/var/tmp/sage/build/pynac-0.7.27.p8/src/ginac/mpoly-singular.cpp:94: undefined reference to `operator-(CanonicalForm const&)'
  [pynac-0.7.27.p8]   /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: /opt/sage-a9c3c18820b8c96cd2336b90dc480417eaefd6d6/var/tmp/sage/build/pynac-0.7.27.p8/src/ginac/mpoly-singular.cpp:104: undefined reference to `operator-(CanonicalForm const&)'
  [pynac-0.7.27.p8]   collect2: error: ld returned 1 exit status
  [pynac-0.7.27.p8]   make[5]: *** [Makefile:560: libpynac.la] Error 1
  [pynac-0.7.27.p8]   make[5]: Target 'all' not remade because of errors.
  [pynac-0.7.27.p8]   make[4]: *** [Makefile:495: all-recursive] Error 1
  [pynac-0.7.27.p8]   make[3]: *** [Makefile:402: all] Error 2
  [pynac-0.7.27.p8]   ********************************************************************************

(this is #32156)

slel commented
comment:3

Where to download the sources from? There seems to be two options:

comment:4

Usually the ftp has a complete dist tarball while github just have the source (not autoconf generated), although I haven't checked lately.

comment:5

GitHub seems to have only the GitHub's automatically generated tarballs.

slel commented

Author: Samuel Lelièvre

slel commented

Commit: e45bdf7

slel commented
comment:6

This branch passes testlong on Debian.

(Except one test in src/sage/modular/local_comp/local_comp.py
which has a hotfix in #29977 and is the object of #32134.)

Launching GitHub actions on this would be useful.

I've pushed a branch to my fork on GitHub:

but I don't remember if that's enough to launch tests
on multiple platforms. I can see

which indicates linting tests have failed (unsurprisingly
as linting the whole Sage code base is work in progress);
does that block further tests from running?


New commits:

e45bdf732001: Upgrade: Singular 4.2.1
comment:7

you need to choose TOX workflow by Actions
and pick the branch to test manually

comment:8

... or push a tag.

slel commented
comment:9

Thanks for the reminder. I pushed tag 32001,
which launched some bots.

comment:10

A new trouble with GH Actions, not enough disk space:

[sagelib-9.4.beta4]   build/cythonized/sage/ext/interpreters/wrapper_rdf.c:9127:1: fatal error: error writing to /tmp/ccRPWbhl.s: No space left on device

:-( (that's on Ubuntu 20.04)

comment:11

The pynac failure on cygwin-standard is unfortunately still there with this update https://github.com/slel/sage/runs/3114171604?check_suite_focus=true

slel commented
comment:13

Adding #32257 as a dependency as it makes this work on Cygwin.

slel commented

Dependencies: #32257

comment:14

Another round of GH Actions on top of 9.4.beta5 + #32257 would be good

slel commented

Changed commit from e45bdf7 to 9a73ab2

slel commented

Changed branch from u/slelievre/32001 to public/32001

slel commented
comment:15

Rebased on #32257.

Pushed tag ci-32001 to launch a new round of gh-actions.

https://github.com/slel/sage/actions


New commits:

d4156f7build/pkgs/singular/patches/0001-factory-canonicalform.h-Add-more-FACTORY_PUBLIC.patch: New
9a73ab232001: Upgrade: Singular 4.2.1
slel commented
comment:16

Some github-actions workflows are running out of disk space.

https://github.com/slel/sage/actions?query=branch%3Aci-32001

comment:17

perhaps one can try this: https://github.com/easimon/maximize-build-space

Changed commit from 9a73ab2 to 367618c

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

367618c32001: Upgrade: Singular 4.2.1
slel commented
comment:19

Rebased on Sage 9.4.beta6. Pushed tag to run github-actions at:

https://github.com/slel/sage/actions?query=branch:ci-s94b6-32001

slel commented
comment:20

Replying to @dimpase:

perhaps one can try this: https://github.com/easimon/maximize-build-space

Thanks for the pointer, looks promising.

Meanwhile, successfully ran make -s V=0 ptestlong on macOS and Debian.

comment:21

Replying to @slel:

Rebased on Sage 9.4.beta6. Pushed tag to run github-actions at:

https://github.com/slel/sage/actions?query=branch:ci-s94b6-32001

But sci-mathematics/singular-4.2.1 is already installed in gentoo image.
I expected to see

configure: will use system package and not install SPKG singular
comment:22

Replying to @sheerluck:

Replying to @slel:

Rebased on Sage 9.4.beta6. Pushed tag to run github-actions at:

https://github.com/slel/sage/actions?query=branch:ci-s94b6-32001

But sci-mathematics/singular-4.2.1 is already installed in gentoo image.
I expected to see

configure: will use system package and not install SPKG singular

this won't happen until #29024 is done.

You can try putting
https://github.com/sagemath/sage-prod/files/10659352/spkg-configure.m4.gz
into build/pkgs/singular/spkg-configure.m4
and run ./bootstrap
(then, assuming Singular is known to pkg-config, it might work...)

comment:23

may we please also fix the following cython warning:

diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
index b043ce719a..ec706f3129 100644
--- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
@@ -3181,7 +3181,8 @@ cdef class MPolynomial_libsingular(MPolynomial):
         cdef ring *_ring = parent._ring
         if _ring != currRing: rChangeCurrRing(_ring)
         base = parent._base
-        cdef poly *t, *p = p_Copy(self._poly, _ring)
+        cdef poly *t
+        cdef poly *p = p_Copy(self._poly, _ring)
 
         while p:
             t = pNext(p)
slel commented

Changed commit from 367618c to 0629663

slel commented

Changed branch from public/32001 to u/slelievre/32001-a

slel commented
comment:24

Rebased on Sage 9.4.rc0. Fixed Cython warning as requested.


New commits:

2abd30732001: Upgrade: Singular 4.2.1
062966332001: Fix Cython warning in multi_polynomial_libsingular.pyx
slel commented

Changed keywords from none to upgrade, singular

comment:25

Replying to @fchapoton:

may we please also fix the following cython warning:

I think it is poor practice to put unrelated changes on an update ticket. It just adds ambiguity for packagers.

comment:26

As noted in #32323, the file singular.idx is not getting installed (neither before nor after this upgrade). This is an issue both in upstream and our fallback docbuild (which only makes singular.hlp)

comment:27

Several of the GH Actions tests failed with:

  [singular-4.2.1]   Attempting to download from ftp://jim.mathematik.uni-kl.de/pub/Math/Singular/SOURCES/4-2-1/singular-4.2.1.tar.gz
  [singular-4.2.1]   [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
  [singular-4.2.1]   ERROR [transfer|run:135]: [Errno ftp error] 550 Failed to change directory.
  [singular-4.2.1]   ************************************************************************
  [singular-4.2.1]   Traceback (most recent call last):
  [singular-4.2.1]     File "/sage/build/bin/../sage_bootstrap/download/cmdline.py", line 126, in run_safe

This may have been caused by an intermittent server error

Reviewer: Matthias Koeppe

comment:28

The tests that went through look fine, including Cygwin.

Thanks for preparing this upgrade!

Changed dependencies from #32257 to none

slel commented
comment:29

Replying to @mkoeppe:

Replying to @fchapoton:

may we please also fix the following cython warning:

I think it is poor practice to put unrelated changes on an update ticket. It just adds ambiguity for packagers.

Let me know if I should split that off to a separate ticket.

Changed branch from u/slelievre/32001-a to 0629663