I got the Windows 10 anniversary update and turned on the new Windows subsystem for Linux.
The Julia binaries from the website load, but unfortunately don't fully work. I had hoped Julia might just work as I had heard many large programs just work, but alas, not yet. I tried both 0.4.6 and 0.5.0-pre Julia binaries from the website. It seems the subsystem returns a Not Enough Memory error whenever Julia tries to spawn, which it does pretty often. This seems to be the main and perhaps only problem preventing Julia 0.4.6 working for now. I tried defining a function and running it, and this caused no issues. There are also double free or corruption errors with Julia 0.5.0. Note that I am only getting this in Julia 0.5.0, not anything else, e.g. Sage seems to work ok and passes much of its test suite without any such errors. Apart from the spawn issue, Julia 0.4.6 also doesn't have this problem. I tried building Julia 0.4.6 from source and the main issue I hit was that pcre2 requires a stack limit of 16MB, but WSL is limited to 8MB. There is a build option for pcre to use heap instead of stack, but it obviously hasn't been maintained. It still complains it can't set the stack to the right limit. And ulimit refuses to increase the limit. I ended up just replacing the relevant test code with an empty shell script so the build could continue. Also, when building LLVM and fftw it frequently corrupted the .o files, so some of them had to be built more than once to get a valid .o file. This seems to be avoidable by not doing a parallel build. But of course that takes a very long time. BLAS seems to take an extremely long time to build, making building from source pretty much impractical on the subsystem at present. It takes many hours. The main problem seems to be the glacially slow filesystem. The compute performance seems to be isomorphic to a real Ubuntu server in the tests I've done, including ones that allocate lots of memory. Of course slow build times are not that important given that it is supposed to work with standard Ubuntu binaries which can be built elsewhere. I was able to get the build to complete though and Julia 0.4.6 ran, but it has the same issue with spawn as with the binaries on the Julia website, e.g. julia> run(`ls`) ERROR: could not spawn `ls`: not enough memory (ENOMEM) in _jl_spawn at process.jl:262 in anonymous at process.jl:415 in setup_stdio at ./process.jl:403 in __spawn#58__ at ./process.jl:414 in run at ./process.jl:530 There should be enough memory on this machine. I think the message is caused by some other issue. Bill.