Hi all, TL;DR: if you have a 64-bit Windows (Windows 7 and up should work) please demo and give me your thoughts on the new build of Sage for Windows using the installer at [1].
Some of you may recall that this spring I worked on a Windows installer for Sage [2] based on Docker. The use of Docker was an attempt at an end-run around a working Sage for Windows--the installer was a complicated contraption that installed and configured Docker for Windows and tried to make Sage work on that in a manner as transparent as possible to the user (the point here being that while Sage works well in Docker, configuring and using Docker--especially on Windows--is complicated enough to present a significant hurdle especially to novice users who should have a simple "point and click" experience). Many of you were very helpful in testing out my builds of that installer and providing feedback, and I was grateful. However, while I was able to make this approach work on some level it was still fragile and at times difficult. I outlined the problems with the approach at [3]. Since then I have worked to create a build of Sage that works 100% "natively" on Windows using Cygwin (the quotes indicating that while it is ultimately, through Cygwin, using native Windows system calls that fact is significantly obscured by Cygwin, and relatively few actual source code changes are needed to Sage or its dependencies to support that :) Although no official release of Sage yet supports Cygwin fully, I have a branch of Sage 7.4 with a few additional fixes needed for full Cygwin support. This is a "fully functional" build insofar as all `sage -t -a --long` tests pass* (though no optional packages are included yet). There may also be as of yet unseen issues with parallel processing--although all the tests do pass, Cygwin's fork() implementation can be fragile, and I wouldn't count out the possibility of problems even if I haven't seen them yet. Otherwise the system is pretty functional, especially for beginners--this includes running the Jupyter notebook with the Sage kernel. The only other issue to be aware of is due to the large number of files installed and heavy compression the installer takes a while to run (around 15 minutes on my machine) so get it started, then go get a coffee and chat with some colleagues before coming back to it :) Thanks, Erik * The tests pass in my local build system, but still have some failures in the "installed" build from this installer--this still has a few failures mostly due to issues with the installation environment, but nothing serious AFAICT. §FAQs ===== - Why can't Windows just use the Sage VM appliance? They can, but I hope it shouldn't need to be said that this is hardly ideal. Windows users, especially students and researchers, should be able to run Sage on their own computer without the hassles associated with virtualization. - Have you tried the Windows Subsystem for Linux (aka "Bash for Windows")? I've addressed this before, but since it seems to come up every time I mention Sage on Windows: Yes, this has been considered and has promise. Early experiments with running the Sage binary build on WSL showed some success, but with caveats. Bill Hart has a nice writeup at [4]. I have also heard of issues with building Sage from source on the WSL. That said, in its current form the WSL does not address all the goals of this installer. For one it is not accessible to all Windows users--it is only available as of the Windows 10 "Anniversary Update", and not on any earlier Windows versions many of which (especially Windows 7 and up) are still common in the wild. Second of all, by Microsoft's own insistance it is designed to be a tool for developers, so that developers working on Windows can more easily test their software against and run POSIX-based development tools. It is not meant for production environments or as a software installation system. While it certainly *could*, in theory, be used that way it is not well set up for that. Enabling the feature is a somewhat involved process (especially for novices) and requires some large downloads (larger even than the Sage installer :) It is not a particularly accessible process, and is not easily encapsulated in some kind of stand-alone installer. Finally, at least for now, it's still in "beta" and has a number of known issues anyways. While it may eventually as people learn to exploit it more effectively, for now Cygwin remains the most portable and well-tested POSIX emulation layer for Window, even if it has its own issues. [1] https://github.com/embray/sage-windows/releases/download/0.1a1-7.4/SageMath-7.4.exe [2] https://groups.google.com/d/msg/sage-devel/To6wNO7FSxw/7YNmr7WqDQAJ [3] https://github.com/OpenDreamKit/OpenDreamKit/blob/3ad46237fc71cb6ec2fde568ea1d0f7525e2a8dc/WP3/D3.1/status-report.md#caveats [4] https://groups.google.com/d/msg/sage-devel/MHyD5tcyO5Y/_guoPVQUBwAJ -- 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 post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.