Sage on Cygwin status update

143 views
Skip to first unread message

Erik Bray

unread,
Apr 21, 2017, 8:35:00 AM4/21/17
to sage-devel
Hi all,

I'd like to report a positive status of the Cygwin port of Sage. As
of this week, I *finally* have a custom branch based on top of Sage's
develop branch building successfully on Cygwin again, with all tests
passing (excluding any optional packages).

This was previously the case for Sage 7.4, but when 7.5 came out I
fell behind and it was an uphill battle to get caught up again.

I'm hoping that for Sage 8.0, in addition to the switch to the Jupyter
Notebook, we can also make it the first release to officially support
Cygwin and include builds of my point-and-click installer [1] for Sage
8.0 (testing of the Sage 7.4 version has been mostly successful so
far).

It would be great to have the actual develop branch fully working,
rather than my custom branch. To do that there are only a handful of
issues remaining, most of which either just need review, or a small
amount of additional work [2]. Furthermore, a few of the issues are
minor bugs that prevent a handful of tests from passing, but do not
prevent a successful build, or the majority of the test suite from
running. So I've marked as "blocker" the most important tickets.

It would be great if we can get those knocked out before Sage 8.0 is
released, and I'll do all I can to move those tickets forward.

From then on, I have a Windows VM set up on our OpenStack
infrastructure at U. P-Sud that will be running a patchbot for Cygwin.
But it's tricky to get that up and running without having these last
few fixes merged into the main develop branch.

Thanks,
Erik

[1] https://github.com/embray/sage-windows/releases/tag/0.1a4-7.4
[2] https://trac.sagemath.org/query?status=needs_info&status=needs_review&status=needs_work&status=new&status=positive_review&component=porting%3A+Cygwin&milestone=sage-8.0&col=id&col=summary&col=component&col=status&col=type&col=priority&col=milestone&order=milestone

Jean-Pierre Flori

unread,
Apr 21, 2017, 8:45:26 AM4/21/17
to sage-devel
Good job!

Travis Scrimshaw

unread,
Apr 21, 2017, 11:49:41 AM4/21/17
to sage-devel
That's great to hear.

What about the latest version of R? This is where I'm currently stuck on my Cygwin64 build.

Best,
Travis

Erik Bray

unread,
Apr 21, 2017, 12:07:35 PM4/21/17
to sage-devel
On Fri, Apr 21, 2017 at 5:49 PM, Travis Scrimshaw <tsc...@ucdavis.edu> wrote:
> That's great to hear.
>
> What about the latest version of R? This is where I'm currently stuck on my
> Cygwin64 build.

What about it? It works for me...

Travis Scrimshaw

unread,
Apr 21, 2017, 1:24:37 PM4/21/17
to sage-devel

Erik Bray

unread,
Apr 21, 2017, 1:58:01 PM4/21/17
to sage-devel
On Fri, Apr 21, 2017 at 7:24 PM, Travis Scrimshaw <tsc...@ucdavis.edu> wrote:
> Ah, I missed https://trac.sagemath.org/ticket/22761.

Looks like I didn't include that one in the "Porting: Cygwin" category
since it also has a few non-Cygwin-specific changes--oops

Vincent Delecroix

unread,
Apr 21, 2017, 4:47:30 PM4/21/17
to sage-...@googlegroups.com
Great!

I am in favor of having cygwin as another main goal for 8.0.

On 21/04/2017 14:45, Jean-Pierre Flori wrote:
> Good job!
>

Travis Scrimshaw

unread,
Apr 21, 2017, 9:03:32 PM4/21/17
to sage-devel
I was able to build and run Sage with the positively reviewed Cygwin tickets plus:


Best,
Travis


Travis Scrimshaw

unread,
Apr 21, 2017, 9:04:29 PM4/21/17
to sage-devel
I also used atlas as my blas, using gcc 6.3, did it in parallel, and did not build the docs.

Best,
Travis

Travis Scrimshaw

unread,
Apr 21, 2017, 9:16:45 PM4/21/17
to sage-devel
Okay, I can't get it to run tests:

$ ./sage -t src/sage
no stored timings available
Running doctests with ID 2017-04-22-01-14-29-566bb225.
     
0 [main] python2.7 5280 child_info_fork::abort: unable to map C:\cygwin64\home\Travis\sage\local\lib\python2.7\site-packages\psutil\_psutil_cygwin.dll, Win32 error 1114
Traceback (most recent call last):
 
File "/home/Travis/sage/src/bin/sage-runtests", line 89, in <module>
    err
= DC.run()
 
File "/home/Travis/sage/local/lib/python2.7/site-packages/sage/doctest/control.py", line 1121, in run
   
"HEAD"])
 
File "/home/Travis/sage/local/lib/python2.7/subprocess.py", line 212, in check_output
    process
= Popen(stdout=PIPE, *popenargs, **kwargs)
 
File "/home/Travis/sage/local/lib/python2.7/subprocess.py", line 390, in __init__
    errread
, errwrite)
 
File "/home/Travis/sage/local/lib/python2.7/subprocess.py", line 916, in _execute_child
   
self.pid = os.fork()
OSError: [Errno 11] Resource temporarily unavailable

I ran a rebase, but I still get the same error message. So I'm not sure what to do at this point.

Best,
Travis

Travis Scrimshaw

unread,
Apr 21, 2017, 10:47:44 PM4/21/17
to sage-devel
More updates, I've been able to install and use most of the packages that I normally would except:

- libhomfly won't compile its corresponding pyx file: https://trac.sagemath.org/ticket/22856
- gap3 installed fine but won't run (but this is currently an experimental package, so slightly less important, but we would it to be optional eventually):

sage: W = ReflectionGroup(['A',2])
     
0 [main] python2.7 2624 child_info_fork::abort: unable to map C:\cygwin64\home\Travis\sage\local\lib\python2.7\site-packages\psutil\_psutil_cygwin.dll, Win32 error 1114

Best,
Travis

Erik Bray

unread,
Apr 22, 2017, 1:48:29 PM4/22/17
to sage-devel
There is one more useful patch that I haven't pushed to the related
ticket yet (I forgot) that automatically rebases DLLs after building
each package, so you won't get fork errors.

Thanks for testing!
Reply all
Reply to author
Forward
0 new messages