SageMath for Windows installer

1,064 views
Skip to first unread message

Erik Bray

unread,
Mar 23, 2016, 7:15:58 AM3/23/16
to sage-...@googlegroups.com
Hi all,

I've been working for a few weeks on an installer for Sage on Windows,
which takes advantage of Docker to accomplish this.* The goal of this
project is to make it possible to run Sage on Windows with as much
transparency as possible, such that the user isn't really aware that
there is any virtualization involved. As you can read in my report
for the OpenDreamKit project on Docker containers [1] there are limits
to this.

However, in the ideal case a user simply downloads and runs an
executable--clicks through a graphical install wizard, and then gets a
desktop icon which launches a Jupyter notebook (with sage and terminal
support) in their default web browser. Although there are still a few
rough edges [2] the alpha version of the Sage for Windows installer
that I have for you today does just that:

https://github.com/embray/sage-windows/releases/download/v1a1/SageMath-7.0-1a1-fat.exe

My hope is for this to eventually be adopted into the SageMath project
as the "official" distribution for Windows, replacing the existing
VM-based solution as I believe that this gives an overall
lighter-weight and more transparently "native" user experience. In
the future the same approach could also be adopted--I think--to
provide a "local" installation of SMC.

Now, if anyone with access to a Windows machine (Windows 7 or newer),
it would be a big favor if I could get a few testers to bang this
around a bit and see what breaks and what works and what could be
improved.

To be clear, right now it only supports running the notebook, though
I'm also working on making it possible to run `sage` at a Windows
command prompt (almost working). Also be aware if you try to test
this: The biggest limitation for now (as described also in [1]) is
that for Docker on Windows hardware virtualization support is required
to be enabled. If this is not enabled the most likely outcome is that
the installer will fail with an error message like "Could not start
Docker VM". In this case you will have to grub around in your BIOS
settings to find hardware assisted virtualization support--this of
course is going to be the most difficult aspect of making this
available to "average" users. A workaround may be possible but I'm
not sure yet.

Be aware also that the installer can take a few minutes to run (as
much as 5 minutes even on a reasonably fast machine) mostly due to it
being highly compressed.

Anyways, I look forward to your questions and feedback!

Thanks,
Erik


* I'm aware of the irony that I only just recently chided someone on
this list for appearing dismissive of working on native Windows
support for sage, while at the same time promoting a VM based solution
for Windows :) Nonetheless I intend this only to be a temporary
solution, albeit a nicer solution than currently exists for Windows.

[1] https://github.com/OpenDreamKit/OpenDreamKit/wiki/D3.1-Virtual-images-and-containers#sagemath
[2] https://github.com/embray/sage-windows/issues

Travis Scrimshaw

unread,
Mar 23, 2016, 9:52:24 AM3/23/16
to sage-devel
Hey Erik,
   I will try it on my Windows 8 machine soon. Thank you for your work on this. From my experience, Windows is very common in Asia, and this could be another good approach to expanding Sage's influence in that region (in addition to SMC).

Although I like the idea of supporting Sage via Cygwin. As far as I am aware, the only current hurdle to this is trac.sagemath.org/ticket/19868.

Best,
Travis

Dima Pasechnik

unread,
Mar 23, 2016, 10:15:00 AM3/23/16
to sage-devel
Hi Erik,

would this work on Windows running in a VM?
Ideally, for testing purposes, that's what one would prefer over having
a dedicated box for testing.

Dima

Erik Bray

unread,
Mar 23, 2016, 11:06:46 AM3/23/16
to sage-...@googlegroups.com
On Wed, Mar 23, 2016 at 3:14 PM, Dima Pasechnik <dim...@gmail.com> wrote:
> Hi Erik,
>
> would this work on Windows running in a VM?
> Ideally, for testing purposes, that's what one would prefer over having
> a dedicated box for testing.

It should work. I really ought to be doing that myself but I've been
using a dedicated box (on the plus side that has revealed interesting
things that occur during *uninstallation*). I just don't have a
license handy by which I could easily make a Windows VM.

But as long as you can run Virtualbox inside Virtualbox (which last I
tried works) then yes.
> --
> 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+...@googlegroups.com.
> To post to this group, send email to sage-...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

Dima Pasechnik

unread,
Mar 23, 2016, 11:33:11 AM3/23/16
to sage-devel


On Wednesday, March 23, 2016 at 3:06:46 PM UTC, Erik Bray wrote:
On Wed, Mar 23, 2016 at 3:14 PM, Dima Pasechnik <dim...@gmail.com> wrote:
> Hi Erik,
>
> would this work on Windows running in a VM?
> Ideally, for testing purposes, that's what one would prefer over having
> a dedicated box for testing.

It should work.  I really ought to be doing that myself but I've been
using a dedicated box (on the plus side that has revealed interesting
things that occur during *uninstallation*).  I just don't have a
license handy by which I could easily make a Windows VM.

let me try with Google Compute Engine if this will fly...

Jean-Pierre Flori

unread,
Mar 23, 2016, 11:37:08 AM3/23/16
to sage-devel
I'll bring a laptop with Windows 7 installed next week at Cernay.

Dima Pasechnik

unread,
Mar 23, 2016, 12:50:10 PM3/23/16
to sage-devel


On Wednesday, March 23, 2016 at 3:33:11 PM UTC, Dima Pasechnik wrote:


On Wednesday, March 23, 2016 at 3:06:46 PM UTC, Erik Bray wrote:
On Wed, Mar 23, 2016 at 3:14 PM, Dima Pasechnik <dim...@gmail.com> wrote:
> Hi Erik,
>
> would this work on Windows running in a VM?
> Ideally, for testing purposes, that's what one would prefer over having
> a dedicated box for testing.

It should work.  I really ought to be doing that myself but I've been
using a dedicated box (on the plus side that has revealed interesting
things that occur during *uninstallation*).  I just don't have a
license handy by which I could easily make a Windows VM.

let me try with Google Compute Engine if this will fly...

it does not work out of the box (I tried it on an GCE instance running Windows Server 2012 R2 Datacenter)
the install bails out at the moment VirtualBox gets installed.

It has left behind few things, one is Docker Quickstart Terminal.
It I try it I get:

Running pre-create checks...
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
Looks like something went wrong... Press any key to continue...

I also got GIT GUI, Git Bash, and GIT CMD. (GIT GUI seems to work, I did not try others)

Interestingly, I can install VirtualBox directly (just the default from their website), although when I try installing a guest OS, it tells me they must be 32-bit.
(Does this mean that the host is 32-bit?)

Dima


 



                                                                              

Dima Pasechnik

unread,
Mar 23, 2016, 8:10:33 PM3/23/16
to sage-devel


On Wednesday, March 23, 2016 at 4:50:10 PM UTC, Dima Pasechnik wrote:


On Wednesday, March 23, 2016 at 3:33:11 PM UTC, Dima Pasechnik wrote:


On Wednesday, March 23, 2016 at 3:06:46 PM UTC, Erik Bray wrote:
On Wed, Mar 23, 2016 at 3:14 PM, Dima Pasechnik <dim...@gmail.com> wrote:
> Hi Erik,
>
> would this work on Windows running in a VM?
> Ideally, for testing purposes, that's what one would prefer over having
> a dedicated box for testing.

It should work.  I really ought to be doing that myself but I've been
using a dedicated box (on the plus side that has revealed interesting
things that occur during *uninstallation*).  I just don't have a
license handy by which I could easily make a Windows VM.

let me try with Google Compute Engine if this will fly...

it does not work out of the box (I tried it on an GCE instance running Windows Server 2012 R2 Datacenter)
the install bails out at the moment VirtualBox gets installed.

It has left behind few things, one is Docker Quickstart Terminal.
It I try it I get:

Running pre-create checks...
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
Looks like something went wrong... Press any key to continue...

I also got GIT GUI, Git Bash, and GIT CMD. (GIT GUI seems to work, I did not try others)

Interestingly, I can install VirtualBox directly (just the default from their website), although when I try installing a guest OS, it tells me they must be 32-bit.
(Does this mean that the host is 32-bit?)

well, it probably won't work this way, at least according to a number of internet links, GCE cannot run nested VMs, at least not directly. There is something by Oracle/Ravello that seems to be able to fill this gap.
As well, it is meant to be in some versions of the upcoming Windows update, beta of which is already released...

Erik Bray

unread,
Mar 24, 2016, 5:03:39 AM3/24/16
to sage-...@googlegroups.com
Yep, this is what I warned about. You can't run a 64-bit VM without
hardware assisted virtualization enabled in the BIOS.

It doesn't mean that the host is 32-bit. It just means that it can
only run a 32-bit guest OS *without* HAV.

Erik Bray

unread,
Mar 24, 2016, 5:07:41 AM3/24/16
to sage-...@googlegroups.com
Oh well, thanks for trying. In any case this isn't its intended use.
The point of this is for individual users to install sage on their
personal computers.

(Incidentally if you wanted to run a docker container in a GCE machine
this can be set up easily using docker-machine:
https://docs.docker.com/machine/drivers/gce/, but that has nothing to
do with Windows).

Erik

kcrisman

unread,
Mar 24, 2016, 2:41:19 PM3/24/16
to sage-devel


However, in the ideal case a user simply downloads and runs an
executable--clicks through a graphical install wizard, and then gets a
desktop icon which launches a Jupyter notebook (with sage and terminal
support) in their default web browser.  Although there are still a few
rough edges [2] the alpha version of the Sage for Windows installer
that I have for you today does just that:


Wow, this sounds fantastic!  Maybe it's time to resurrect the old sage-windows list 
which I see now Samuel L. has just done.  Perhaps continue some technical discussion there (or cc: it)?
 
https://github.com/embray/sage-windows/releases/download/v1a1/SageMath-7.0-1a1-fat.exe

My hope is for this to eventually be adopted into the SageMath project
as the "official" distribution for Windows, replacing the existing
VM-based solution as I believe that this gives an overall
lighter-weight and more transparently "native" user experience.  In
the future the same approach could also be adopted--I think--to
provide a "local" installation of SMC.



Or "an" official distribution; presumably some people might like the VM for various reasons?  (Sandboxing, maybe, is there a difference between these solutions with respect to that?) 

Erik Bray

unread,
Mar 25, 2016, 5:49:24 AM3/25/16
to sage-...@googlegroups.com
On Thu, Mar 24, 2016 at 7:41 PM, kcrisman <kcri...@gmail.com> wrote:
>>
>>
>> However, in the ideal case a user simply downloads and runs an
>> executable--clicks through a graphical install wizard, and then gets a
>> desktop icon which launches a Jupyter notebook (with sage and terminal
>> support) in their default web browser. Although there are still a few
>> rough edges [2] the alpha version of the Sage for Windows installer
>> that I have for you today does just that:
>>
>
> Wow, this sounds fantastic! Maybe it's time to resurrect the old
> sage-windows list
> https://groups.google.com/forum/#!topic/sage-windows/5vW8TZSEsXs
> which I see now Samuel L. has just done. Perhaps continue some technical
> discussion there (or cc: it)?

Thanks--I didn't know there was such a list. I should get on that,
since Sage on Windows (natively, with Cygwin, or otherwise) is one of
my primary goals here.

> Or "an" official distribution; presumably some people might like the VM for
> various reasons? (Sandboxing, maybe, is there a difference between these
> solutions with respect to that?)

Not really. Docker containers provide sandboxing just as well, and
are much lighter-weight and simpler to deploy.

I've tried to avoid too much technical discussion here for now, but
using Docker on Windows *does* require a VM, which is why Docker for
Windows also installs VirtualBox. However, it's a very tiny, stripped
down Linux VM (the image is ~25 MB) that provides *just* enough to run
the Docker engine. This VM runs headlessly and is communicated with
over sockets by the Docker client, which runs natively on Windows.

For the notebook that's all moot, because all that matters is that the
server is up and running, the right ports are forwarded, and then the
user opens it in their web browser. However it will also be possible
soon (just a few more tweaks needed) to run `cmd.exe`, type `sage` at
the prompt, and be in the sage command-line interface as though it
were running natively. In this case of course the "sage" executable
is just a batch script that runs the docker client with the right
options. It's worth providing all these wrappers though, since this
can be difficult, confusing, and time-consuming for the "average" user
to set up.

(Incidentally there *is* experimental support for a version of the
Docker engine on Windows Server 2016 that Microsoft has been helping
with, made possible through new kernel features similar to those used
in Linux to support containerization, but that's still going to be out
of reach for a long while to most desktop users...)

Erik

aishen

unread,
Mar 25, 2016, 5:59:35 AM3/25/16
to sage-devel

Very good idea :)
Late for me because I don't want to use w10 anymore but maybe I can find a computer on my stock ! lol
I really want to try and see that !
Excellent job,
Henri

Luca De Feo

unread,
Mar 25, 2016, 6:37:56 AM3/25/16
to sage-devel
I guess this is relevant: https://blog.docker.com/2016/03/docker-for-mac-windows-beta/

Shall we sign up for the private beta?

Luca

Jean-Pierre Flori

unread,
Mar 25, 2016, 6:44:46 AM3/25/16
to sage-devel

On Friday, March 25, 2016 at 11:37:56 AM UTC+1, Luca De Feo wrote:
I guess this is relevant: https://blog.docker.com/2016/03/docker-for-mac-windows-beta/

Shall we sign up for the private beta?
Sure!

In particular "Faster and more reliable: no more VirtualBox!", ok there is some virtualization underneath but still.

Dima Pasechnik

unread,
Mar 25, 2016, 6:57:20 AM3/25/16
to sage-devel
certainly it is not intended use, but 
we still need to think about reliable automated testing of this setup.

aishen

unread,
Mar 25, 2016, 7:53:51 AM3/25/16
to sage-devel
Unfortunatly it doesn't work on an intel core II pentium I have, it says it can't do virtualization...


Le mercredi 23 mars 2016 12:15:58 UTC+1, Erik Bray a écrit :

Dima Pasechnik

unread,
Mar 25, 2016, 8:41:30 AM3/25/16
to sage-devel


On Friday, March 25, 2016 at 11:53:51 AM UTC, aishen wrote:
Unfortunatly it doesn't work on an intel core II pentium I have, it says it can't do virtualization...

you might need to change BIOS settings to allow virtialization.

Erik Bray

unread,
Mar 25, 2016, 9:09:35 AM3/25/16
to sage-...@googlegroups.com
Well this is good news! I'll see about signing up ASAP.

It won't change much about this Windows installer, except possibly
make it a bit simpler in the long run.

Erik Bray

unread,
Mar 25, 2016, 9:13:05 AM3/25/16
to sage-...@googlegroups.com
On Fri, Mar 25, 2016 at 1:41 PM, Dima Pasechnik <dim...@gmail.com> wrote:
>
>
> On Friday, March 25, 2016 at 11:53:51 AM UTC, aishen wrote:
>>
>> Unfortunatly it doesn't work on an intel core II pentium I have, it says
>> it can't do virtualization...
>
>
> you might need to change BIOS settings to allow virtialization.

According to https://en.wikipedia.org/wiki/Intel_Core_2#Models :

The Core 2 branded processors feature Virtualization Technology
(with some exceptions)

It doesn't say what those exceptions are. Maybe this is one of them?
Unlikely though. Almost any Intel or AMD CPU made after 2006 supports
this.

Erik Bray

unread,
Mar 25, 2016, 9:51:49 AM3/25/16
to sage-...@googlegroups.com
On Fri, Mar 25, 2016 at 11:37 AM, Luca De Feo
<de...@lix.polytechnique.fr> wrote:
Looks like this is still going to be somewhat limited for many users.
Although it no longer relies on VirtualBox it does still run a Linux
VM through Hyper-V which is not supported on all Windows versions that
users are likely to have:

https://en.wikipedia.org/wiki/Hyper-V#System_requirements

(Though I suspect that list is a little out of date, as there is no
mention of Windows 10).

Volker Braun

unread,
Mar 25, 2016, 12:05:16 PM3/25/16
to sage-devel
Hyper-V is not, and has historically not been, an option for distribution software because its not part of all Windows versions. From https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick_start/walkthrough_compatibility

The Hyper-V role can be enabled on these versions of Windows 10:

Windows 10 Enterprise
Windows 10 Professional
Windows 10 Education

The Hyper-V role cannot be installed on:

Windows 10 Home
Windows 10 Mobile
Windows 10 Mobile Enterprise

Erik Bray

unread,
Mar 25, 2016, 12:21:45 PM3/25/16
to sage-...@googlegroups.com
On Fri, Mar 25, 2016 at 5:05 PM, Volker Braun <vbrau...@gmail.com> wrote:
> Hyper-V is not, and has historically not been, an option for distribution
> software because its not part of all Windows versions. From
> https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick_start/walkthrough_compatibility
>
> The Hyper-V role can be enabled on these versions of Windows 10:
>
> Windows 10 Enterprise
> Windows 10 Professional
> Windows 10 Education
>
> The Hyper-V role cannot be installed on:
>
> Windows 10 Home
> Windows 10 Mobile
> Windows 10 Mobile Enterprise

And down to Windows 8, but again only on the "Pro"/"Enterprise"
editions. So yes, this seems mostly suitable for running Docker as a
service on Windows (there are some experimental Windows Server docker
containers as well), but as you write less so for software
distribution.

Fortunately the current VirtualBox-based approach works rather well
modulo the HAV requirement. It just requires a little more work to
set up (all of which is hidden away by my installer).



> On Friday, March 25, 2016 at 2:51:49 PM UTC+1, Erik Bray wrote:
>>
>> On Fri, Mar 25, 2016 at 11:37 AM, Luca De Feo
>> <de...@lix.polytechnique.fr> wrote:
>> > I guess this is relevant:
>> > https://blog.docker.com/2016/03/docker-for-mac-windows-beta/
>> >
>> > Shall we sign up for the private beta?
>>
>> Looks like this is still going to be somewhat limited for many users.
>> Although it no longer relies on VirtualBox it does still run a Linux
>> VM through Hyper-V which is not supported on all Windows versions that
>> users are likely to have:
>>
>> https://en.wikipedia.org/wiki/Hyper-V#System_requirements
>>
>> (Though I suspect that list is a little out of date, as there is no
>> mention of Windows 10).
>

Sebastien Gouezel

unread,
Apr 4, 2016, 5:28:54 AM4/4/16
to sage-devel
Just tried it (on Windows 10 Pro 64 bits). In the end, it works, but I had to work a little bit for this:

- when installing docker, it removed my git and installed its own git instead, without asking for anything. A little bit rude, as I liked my version better...

- more serious, the sagemath VM did not start. The reason is that I had VirtualBox 4.2 already installed, while Docker requires VirtualBox 5.0 at least. Docker should have warned me about this, uninstalled the old VirtualBox and installed the new one instead, but it didn't. And then, of course, it could not start, without any error message. I had to dig a little bit to understand what was going on. It would be nice if the error messages of Docker were shown to the user.
when the VM can not be installed.

The second problem is likely to happen to anyone who has already used a Sagemath VM on Windows. For newcomers, there should be no issue, and then the installation is much smoother than with the previous system (just one file to download, click OK several times, and then everything is functional, so definitely a huge progress!). However, there are still the limitations of virtual machines (for instance, it can not use my systemwide latex, if I understand correctly). Cygwin looks to me to be a more promising route in this respect (sage on cygwin 64 is almost completely functional with good performance, with the exception of a buggy singular - hopefully, trac 17254 will bring improvements when/if completed).

Sebastien
 

Erik Bray

unread,
Apr 4, 2016, 5:48:34 AM4/4/16
to sage-...@googlegroups.com
Thanks for giving it a try!

On Sun, Apr 3, 2016 at 9:35 PM, Sebastien Gouezel
<sebastie...@gmail.com> wrote:
> Just tried it (on Windows 10 Pro 64 bits). In the end, it works, but I had
> to work a little bit for this:
>
> - when installing docker, it removed my git and installed its own git
> instead, without asking for anything. A little bit rude, as I liked my
> version better...

Yes, I agree. This is a bug with the Docker installer itself--it
doesn't make it possible to deselect git installation (for Sage
purposes it's not necessary for it to install git at all!). I have an
upstream ticket for that and I think there is a fix for that now but I
need to double-check.

> - more serious, the sagemath VM did not start. The reason is that I had
> VirtualBox 4.2 already installed, while Docker requires VirtualBox 5.0 at
> least. Docker should have warned me about this, uninstalled the old
> VirtualBox and installed the new one instead, but it didn't. And then, of
> course, it could not start, without any error message. I had to dig a little
> bit to understand what was going on. It would be nice if the error messages
> of Docker were shown to the user.
> when the VM can not be installed.

This is also an upstream issue with Docker. If you look in the source
for their installer there's a TODO item to check to version of
VirtualBox :)

> The second problem is likely to happen to anyone who has already used a
> Sagemath VM on Windows. For newcomers, there should be no issue, and then
> the installation is much smoother than with the previous system (just one
> file to download, click OK several times, and then everything is functional,
> so definitely a huge progress!). However, there are still the limitations of
> virtual machines (for instance, it can not use my systemwide latex, if I
> understand correctly). Cygwin looks to me to be a more promising route in
> this respect (sage on cygwin 64 is almost completely functional with good
> performance, with the exception of a buggy singular - hopefully, trac 17254
> will bring improvements when/if completed).

Yes, I think this approach is mainly useful for newcomers. The
majority of the problems you mentioned came in due to already having
various bits of this installed. I'm not quite sure I understand the
point about latex.

I'm -1 on Cygwin for a few reasons, but am working on building Sage
natively for Windows without a posix-compatibility layer. (Though I'm
not opposed to supporting Cygwin too of course but I don't think it's
the most user-friendly approach in the long term).

For an "average" user I think this installer is much friendlier than
any other currently working approach.

Sebastien Gouezel

unread,
Apr 4, 2016, 8:38:41 AM4/4/16
to sage-devel


Le lundi 4 avril 2016 11:48:34 UTC+2, Erik Bray a écrit :

Yes, I think this approach is mainly useful for newcomers. The
majority of the problems you mentioned came in due to already having
various bits of this installed.  I'm not quite sure I understand the  
point about latex.

I mean that sagemath in a VM will not interact well with other normal programs on my computer. Say I have mathematica or maple, will sagemath in VM be able to call them?


I'm -1 on Cygwin for a few reasons, but am working on building Sage
natively for Windows without a posix-compatibility layer.  (Though I'm
not opposed to supporting Cygwin too of course but I don't think it's
the most user-friendly approach in the long term).
 
I don't really wee why it could not be user-friendly, can you elaborate on this? Note that there are cygwin programs that come with an all-in-one installer just as what you did for sagemath in VM, installing the bits of cygwin they need -- the user just has to click on OK once or twice, and then everything is working in a completely transparent way. Check out for instance Isabelle/HOL at https://isabelle.in.tum.de/

Of course, a native windows build would be even better, but that seems to be an order of magnitude more difficult since many programs in sage-the-distribution use the posix layer (PARI, for instance)
 
For an "average" user I think this installer is much friendlier than
any other currently working approach.

I agree completely.

Sebastien

Erik Bray

unread,
Apr 4, 2016, 10:26:02 AM4/4/16
to sage-...@googlegroups.com
On Mon, Apr 4, 2016 at 2:38 PM, Sebastien Gouezel
<sebastie...@gmail.com> wrote:
>
>
> Le lundi 4 avril 2016 11:48:34 UTC+2, Erik Bray a écrit :
>>
>>
>> Yes, I think this approach is mainly useful for newcomers. The
>> majority of the problems you mentioned came in due to already having
>> various bits of this installed. I'm not quite sure I understand the
>>
>> point about latex.
>
>
> I mean that sagemath in a VM will not interact well with other normal
> programs on my computer. Say I have mathematica or maple, will sagemath in
> VM be able to call them?

No, I don't think so. Some would consider that a feature, not a bug :)

>> I'm -1 on Cygwin for a few reasons, but am working on building Sage
>> natively for Windows without a posix-compatibility layer. (Though I'm
>> not opposed to supporting Cygwin too of course but I don't think it's
>> the most user-friendly approach in the long term).
>
>
> I don't really wee why it could not be user-friendly, can you elaborate on
> this? Note that there are cygwin programs that come with an all-in-one
> installer just as what you did for sagemath in VM, installing the bits of
> cygwin they need -- the user just has to click on OK once or twice, and then
> everything is working in a completely transparent way. Check out for
> instance Isabelle/HOL at https://isabelle.in.tum.de/

I don't know how to do that--do you know if there is a good way to go
about that? Sure you "just" have to bundle cygwin.dll, but you have
to make sure everything in your package is using the same cygwin.dll.

In the meantime, the only thing Sage is presently shipping "for
WIndows" is a VM, and that's not ideal. This is an improvement.

> Of course, a native windows build would be even better, but that seems to be
> an order of magnitude more difficult since many programs in
> sage-the-distribution use the posix layer (PARI, for instance)

PARI seems to have made progress on--if not fixed--native support for
Windows. One of the main holdouts I'm aware of now is GAP. I'm working
on that.

David Joyner

unread,
Apr 7, 2016, 11:41:42 AM4/7/16
to sage-devel
On Fri, Mar 25, 2016 at 8:41 AM, Dima Pasechnik <dim...@gmail.com> wrote:
>
>
> On Friday, March 25, 2016 at 11:53:51 AM UTC, aishen wrote:
>>
>> Unfortunatly it doesn't work on an intel core II pentium I have, it says
>> it can't do virtualization...
>
>
> you might need to change BIOS settings to allow virtialization.
>

The sysadmin at work tried this on a intel windows 7 machine, with the
BIOS setting for hardware virtualization checked, and it gave the
error "Could not start Docker VM".

Further, no VM was installed on this machine.

Any idea what the error was caused by?

Emil Widmann

unread,
Apr 7, 2016, 3:14:24 PM4/7/16
to sage-devel
< I don't really wee why it could not be user-friendly, can you elaborate on this?

I think cygwin is a lot slower than virtualisation - or has this changed?

William Stein

unread,
Apr 7, 2016, 3:23:37 PM4/7/16
to sage-devel, Bill Hart
On Thu, Apr 7, 2016 at 12:14 PM, Emil Widmann <emil.w...@gmail.com> wrote:
> < I don't really wee why it could not be user-friendly, can you elaborate on
> this?
>
> I think cygwin is a lot slower than virtualisation - or has this changed?

In my benchmarking even native Windows *can be* a lot slower than
Linux in a VM on Windows...
It depends on what you're testing though. For example, imagine
somebody writes and optimizes
a low level C math library on Linux. They may even write special
highly optimized assembly code for
certain key code paths, which is only enabled when building on Linux
with GCC (say). If you then run exactly that program on a Linux VM
under windows, versus built in Cygwin (or Visual Studio), it is very
likely to be much faster in Linux. I remember doing this sort of
thing with code from Bill Hart et al. a few years ago, and being
surprised. Software is complicated.

For many users though, convenience is more important than speed --
being super fast at factoring integers doesn't matter if all the user
wants to do is some non-research class project involving plots and
mixing Sage and Latex in native Windows. Even if virtualized linux
is way faster at compute-bound tasks, it is way slower for an
inexperienced casual Windows user who isn't even doing serious compute
bound taxes. In short, think of the users.

-- William

--
William (http://wstein.org)

Sebastien Gouezel

unread,
Apr 8, 2016, 5:01:23 AM4/8/16
to sage-devel


Le jeudi 7 avril 2016 21:14:24 UTC+2, Emil Widmann a écrit :
< I don't really wee why it could not be user-friendly, can you elaborate on this?

I think cygwin is a lot slower than virtualisation - or has this changed?

I did once a pretty big Sage computation on the same computer (involving big matrices and cython routines), both on Ubuntu and on Cygwin. Timings were essentially the same. I can't give you recent figures as my Ubuntu is broken since its last big update... Of course, if a package is specially optimized for Linux, then it will be much faster there, but otherwise there should not be a big difference (what is much slower on Cygwin, however, is Sagemath compilation, but this is not really relevant for users).

Sébastien

Erik Bray

unread,
Apr 8, 2016, 5:23:16 AM4/8/16
to sage-...@googlegroups.com
On Thu, Apr 7, 2016 at 5:41 PM, David Joyner <wdjo...@gmail.com> wrote:
> On Fri, Mar 25, 2016 at 8:41 AM, Dima Pasechnik <dim...@gmail.com> wrote:
>>
>>
>> On Friday, March 25, 2016 at 11:53:51 AM UTC, aishen wrote:
>>>
>>> Unfortunatly it doesn't work on an intel core II pentium I have, it says
>>> it can't do virtualization...
>>
>>
>> you might need to change BIOS settings to allow virtialization.
>>
>
> The sysadmin at work tried this on a intel windows 7 machine, with the
> BIOS setting for hardware virtualization checked, and it gave the
> error "Could not start Docker VM".
>
> Further, no VM was installed on this machine.
>
> Any idea what the error was caused by?

No, there are probably myriad reasons it could go wrong. Were they
able to install Docker Toolbox just by itself?

Erik Bray

unread,
Apr 8, 2016, 5:25:51 AM4/8/16
to sage-...@googlegroups.com
On Fri, Apr 8, 2016 at 11:23 AM, Erik Bray <erik....@gmail.com> wrote:
> On Thu, Apr 7, 2016 at 5:41 PM, David Joyner <wdjo...@gmail.com> wrote:
>> On Fri, Mar 25, 2016 at 8:41 AM, Dima Pasechnik <dim...@gmail.com> wrote:
>>>
>>>
>>> On Friday, March 25, 2016 at 11:53:51 AM UTC, aishen wrote:
>>>>
>>>> Unfortunatly it doesn't work on an intel core II pentium I have, it says
>>>> it can't do virtualization...
>>>
>>>
>>> you might need to change BIOS settings to allow virtialization.
>>>
>>
>> The sysadmin at work tried this on a intel windows 7 machine, with the
>> BIOS setting for hardware virtualization checked, and it gave the
>> error "Could not start Docker VM".
>>
>> Further, no VM was installed on this machine.
>>
>> Any idea what the error was caused by?
>
> No, there are probably myriad reasons it could go wrong. Were they
> able to install Docker Toolbox just by itself?

It also sounds like a possible known failure mode is if some version
of VirtualBox is already installed on the system but is too old. Try
uninstalling any existing VirtualBox first.

David Joyner

unread,
Apr 8, 2016, 6:08:45 AM4/8/16
to sage-devel
On Fri, Apr 8, 2016 at 5:25 AM, Erik Bray <erik....@gmail.com> wrote:
> On Fri, Apr 8, 2016 at 11:23 AM, Erik Bray <erik....@gmail.com> wrote:
>> On Thu, Apr 7, 2016 at 5:41 PM, David Joyner <wdjo...@gmail.com> wrote:
>>> On Fri, Mar 25, 2016 at 8:41 AM, Dima Pasechnik <dim...@gmail.com> wrote:
>>>>
>>>>
>>>> On Friday, March 25, 2016 at 11:53:51 AM UTC, aishen wrote:
>>>>>
>>>>> Unfortunatly it doesn't work on an intel core II pentium I have, it says
>>>>> it can't do virtualization...
>>>>
>>>>
>>>> you might need to change BIOS settings to allow virtialization.
>>>>
>>>
>>> The sysadmin at work tried this on a intel windows 7 machine, with the
>>> BIOS setting for hardware virtualization checked, and it gave the
>>> error "Could not start Docker VM".
>>>
>>> Further, no VM was installed on this machine.
>>>
>>> Any idea what the error was caused by?
>>
>> No, there are probably myriad reasons it could go wrong. Were they
>> able to install Docker Toolbox just by itself?
>

It did install Docker into the registry (so one could uninstall it,
which we did when trying a second time to install SageMath).
However, after "Could not start Docker VM" it said "backing out"
or something like that.

> It also sounds like a possible known failure mode is if some version
> of VirtualBox is already installed on the system but is too old. Try
> uninstalling any existing VirtualBox first.
>

No VM at all was installed.

I'm not a windows user and this wasn't my machine.
Reply all
Reply to author
Forward
0 new messages