[erlang-questions] Windows

Loïc Hoguin essen@REDACTED
Wed May 20 10:33:36 CEST 2015


Yesterday the topic of Windows development was brought up on Twitter. I 
looked into it and it's clearly an issue. At best you can compile 
projects that don't involve shell scripts, makefiles or C code, so you 
can't really work on anything significant as a large number of open 
source projects involve one or the other (yes, even when using rebar).

Now there's three ways Erlang could be more friendly to Windows developers:

To use Windows tools imply making open source projects work for Windows. 
Sure perhaps it's not an issue for the simplest NIFs but some projects 
require C libraries which themselves aren't always easy to make work on 

MingW has the same issues. You need to fix everything to work on Windows.

Cygwin makes this much easier. Everything seems to work... except 
Erlang. Erlang on Cygwin thinks it runs on win32 and, while true to a 
certain extent, it fails badly when dealing with files (cygwin has / as 
root while win32 has c:\).

Now you might say Cygwin is massive. That's true, it takes some time to 
install and some space on the disk. But it's very easy to install and 
can be almost entirely automated using chocolatey and apt-cyg. And 
adding an SSH server on top of that is a couple commands away, so it is 
a very interesting solution if you ask me.

Now Erlang compiles on Cygwin... but produces the win32 target. Which 
brings me to the main subject of this email: what would it involve to 
make Erlang work on Cygwin? Considering Cygwin is a mix of Windows and 
Linux it's probably just about enabling one or another piece of code, or 
is it?

It could be a fine side project but I don't really know where to start. 
Any tips appreciated.

PS: tried just patching os:type()... that didn't work. Ended up with 
Erlang not finding a file that existed on disk when running common_test.

PPS: I know "real" developers use Unix. But the more numerous "fake" 
developers might be more interested in Erlang if they can keep their OS.

PPPS: I know this isn't a good option if you're going to create 
Photoshoperl, but it's still a good option for server application 

Loïc Hoguin

More information about the erlang-questions mailing list