On Sun, Dec 11, 2016 at 3:27 PM, Emmanuel Charpentier
<emanuel.charpent...@gmail.com> wrote:
> For the hell of it, I tried this installer on a "spare" Windows VM.
>
> Bravo, bravissimo ! Now, there might be some use to all those Windows
> boxes...

Thanks! :D

> I tried to install some optional package ; it turns out that the installed
> setup isindeed  minimal :
>
> (sage-sh) charpent@DESKTOP-P0B7HOE:~$ time ( for i in database_gap dot2tex
> giac giacpy_sage ; do sage -i $i ; done )
> /opt/sagemath-7.4/src/bin/sage: ligne 302: make : commande introuvable
> /opt/sagemath-7.4/src/bin/sage: ligne 302: make : commande introuvable
> /opt/sagemath-7.4/src/bin/sage: ligne 302: make : commande introuvable
> /opt/sagemath-7.4/src/bin/sage: ligne 302: make : commande introuvable
>
> Either that or the necessary utilities are out of Sage-subshell's reach.

Hmm, no, make is just not installed I don't think.  I'll have to think
about that...  I think it would be better if the installer just came
with all optional packages pre-installed as well.  That said, it
already does come with gcc I'm pretty sure, so adding make wouldn't be
a huge addition.

> A bit of Windows-specific documentation is needed. A (relatively)
> inexperienced user should not have to struggle to find :

A few responses to your list, which I've reordered slightly:

> How to open a cygwin console (as opposed to a Sage subshell) in the setup
> created by the installer.
> A pointer to Cygwin docs.
> Advice about what should be installed under cygwin and what should be
> installed outside (e. g. emacs, TeX, various Unix-like tools).

I think you have the wrong idea of the intention behind using Cygwin.
This installer is *not* meant to provide a full working Cygwin
installation.  Ideally, for the most part, the user is agnostic to the
existence of Cygwin under the hood.  I do see your point about how
they might want to bring other utilities into the environment, but
really the point of this is just to run Sage as a stand-alone
application.  The fact that the sources are included is only even
incidental, as there are several things that break if they aren't
(something I'm actively trying to fix, which will make packagers for
Linux happy as well I suspect.

That said, I may also be naive as to how users will want to use this.
But I also don't want to get tied down with supporting basic Cygwin
usage.

> What (and how) to install in order  to install optional packages.
> What (and how) to install in order to recompile (e. g. testing a git
> branch).

For optional packages, again, if all it takes for `sage -i` to work is
make I might include that, though I suspect it's more complicated than
that. I haven't gotten all the optional packages working on Cygwin
yet, I don't think.  I think easier just have them all pre-installed.
A novice user who might otherwise just use SMC shouldn't have to worry
about "standard" or "optional" packages--they should just get the full
kit.

This is also not meant to "work" how Sage has been traditionally
used--sitting all the time in a source repository checkout and
switching branches and recompiling.  It works otherwise like a normal
Windows application--the files are installed once, and then normal
users don't touch them except to uninstall.  I would like to work on
documentation for someone who wants to do something more like "sage
development" on Windows, under Cygwin.  I'm working on putting that
together now in the process of assembling reproducible build tools for
the installer.

> Advice about how to use Sage-installed programs outside of Sage (e. g.
> Maxima, lisp, Python, etc...).

I think that's mainly what the "Shell" shortcut is for.

> I'll play a bit more with that setup (and, of course, report errors an
> quirks). But my first impression is that it *is* a vast improvement over the
> VM solution.
>
> A big "thank you" on behalf of Windows-stranded users !
>
> --
> Emmanuel Charpentier
>
>
> Le mercredi 7 décembre 2016 16:39:25 UTC+1, Erik Bray a écrit :
>>
>> 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.

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

Reply via email to