Re: [sage-devel] Sage for Windows installer (take 2)

2016-12-08 Thread Johan S . H . Rosenkilde
> 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].

Great work, Erik!

Best,
Johan

-- 
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.


[sage-devel] Sage for Windows installer (take 2)

2016-12-07 Thread Erik Bray
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