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.