On Tue, Oct 8, 2024 at 8:52 PM 'Gonzalo Tornaría' via sage-devel
<sage-devel@googlegroups.com> wrote:

> For me cypari2 works really nice and it's not particularly difficult to 
> package (except it broke with pari 2.17, but of course having this as a 
> standalone package makes it much easier to fix it). What is the problem with 
> windows?

The problem with Windows is just that cypari2 does not support it.
CyPari works fine on Windows.  There is some trickiness required to
get cysignals to work on Windows.  This is because sage's
implementation of sig_on calls setjmp and expects a signal handler to
call longjmp, but that scheme fails on Windows where each signal
handler runs in a separate thread with its own stack.  However, CyPari
has a workaround for this.

- Marc

PS There is another problem with cypari2, completely unrelated to this
thread, which prevents SnapPy from using it, even on platforms which
are supported by cypari2.  That problem is that huge memory leaks were
introduced in cypari2 by a redesign of the Python Gen class to try to
keep the Pari GEN managed by a Python Gen object on the Pari stack as
long as possible.  Those leaks make cypari2 unusable for us.  CyPari
has reverted to the original model, where each Pari GEN is moved to
the Pari heap when its wrapper Gen is constructed, and is freed from
the Pari heap in the wrapper's __dealloc__ method.  That fixes the
leaks.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CALcZXRGApczXgauy55s1SiOW4LcJwoCiu0sJuqrnOd843%2BXdiw%40mail.gmail.com.

Reply via email to