Upgrade cypari2 to 2.1.3
Closed this issue · 27 comments
This is needed for python 3.11 support (#33842) and to make cypari compatible with current pari version
https://groups.google.com/g/sage-devel/c/jqmr6bDjDrk/m/XE2GlB_GBgAJ
Necessary follow ups:
- make cypari thread safe: see cypari2 #116
- remove optional build time dependency of cysignals on pari: see cypari2 #130
Depends on #33864
Component: build
Author: Matthias Koeppe
Branch/Commit: 0ac9905
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/33878
Branch: public/33878
Is there any reason you are using snapshots from your fork of cypari2? Or is it just for testing and development?
Still getting
[cypari-2.1.3b1] [7/7] Cythonizing cypari2/string_utils.pyx
[cypari-2.1.3b1] cypari2/convert.c:3347:21: error: cannot take the address of an rvalue of type 'Py_ssize_t' (aka 'long')
[cypari-2.1.3b1] __pyx_v_sizeptr = &Py_SIZE(((PyObject *)__pyx_v_x));
[cypari-2.1.3b1] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
with this ticket
Sorry about that. I messed up with the tags. I'm rather confident the fix is working, it's just that the fix is not contained in the tag I created.
The new commit contains the recent changes.
The test release contains basically the following:
-
sagemath/cypari2#103 (requires cython 0.29.20, which videlec does not like: sagemath/cypari2#103 (comment);
an alternative approach without raised cython requirement could be sagemath/cypari2#115)
-
sagemath/cypari2#109 (videlec doesn't like this approach much and rather wants
cypari2to push to some signal handling stack of cysignals) -
sagemath/cypari2#116 (doesn't work for python 3.6 yet).
Branch pushed to git repo; I updated commit sha1. New commits:
481d782 | test cypari update |
Description changed:
---
+++
@@ -1,4 +1,6 @@
-This is needed for #33842, but the new release of cypari (and possibly cysignals) might also make
-- cypari thread safe
-- cypari compatible with current pari version
+This is needed for python 3.11 support (#33842) and to make cypari compatible with current pari version
+
+Necessary follow ups:
+- make cypari thread safe
- remove optional build time dependency of cysignals on pari
+Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
0ac9905 | build/pkgs/cypari: Update to 2.1.3 |
Description changed:
---
+++
@@ -1,4 +1,6 @@
This is needed for python 3.11 support (#33842) and to make cypari compatible with current pari version
+
+https://groups.google.com/g/sage-devel/c/jqmr6bDjDrk/m/XE2GlB_GBgAJ
Necessary follow ups:
- make cypari thread safeRegarding the ticket description: to make pari threadsafe, the only way I explored so far was to use a "thread pool executor", see sagemath/cypari2#116. Because of its stack management, pari needs some care when used within threads.
Description changed:
---
+++
@@ -3,6 +3,6 @@
https://groups.google.com/g/sage-devel/c/jqmr6bDjDrk/m/XE2GlB_GBgAJ
Necessary follow ups:
-- make cypari thread safe
-- remove optional build time dependency of cysignals on pari
+- make cypari thread safe: see [cypari2 #116](https://github.com/sagemath/cypari2/pull/116)
+- remove optional build time dependency of cysignals on pari: see [cypari2 #130](https://github.com/sagemath/cypari2/pull/130)
I don't remember the details about this, but there is also a separate related ticket: #28800
Author: Matthias Koeppe
Tests look OK, let's get this in
lgtm - tested with Pari 2.,15.1
Changed reviewer from https://github.com/mkoeppe/sage/actions/runs/3448209182 to Dima Pasechnik
Thanks!
Changed branch from public/33878 to 0ac9905