[erlang-questions] Status of Windows platform support in Erlang/OTP

Mikael Pettersson mikpe@REDACTED
Mon Jun 20 11:31:10 CEST 2011


Amy Lear writes:
 > I set aside my fun with clock granularity once I knew what the problem
 > and (hypothetical) solution are, since instrumentation was only a
 > hypothetical concern for me.
 > 
 > While taking a break from some other tasks, I started looking into
 > what it would take to actually implement things like windows-specific
 > high granularity clocks, and tripped across some interesting items.
 > 
 > Right now, what I see seems to be the following:
 > 
 > Erlang itself is not able to be fully compiled on Windows using open
 > source tools; it requires VC++ as a command line compiler for much of
 > it.
 > Erlang doesn't seem to support 64-bit under Windows.
 > HiPE is not compiled into the official Windows binaries.
 > 
 > Research indicates that at one point in time, Erlang could be compiled
 > using MinGW. If I understand correctly, things went somewhat awry
 > around the time SMP support was added. The 64-bit problem seems to be
 > a long =/= void sizing issue, and I wasn't able t find anything on
 > HiPE.
 > 
 > My questions are as follows:
 > 
 > Has anything happened since then as far as efforts to be able to fully
 > compile Erlang using mingw? The mingw/msys environment does provide a
 > working shell and the ability to run configure scripts, etc, without
 > bringing the whole cygwin cavalcade to the party.

IMO the preferred solution would be to do a pseudo-cross build in a
Cygwin environment using a cygwin-to-{i686,x86_64}-w64-mingw32 cross
compiler.  This gives you all the needed Unix:y build tools, but the
resulting binaries don't need Cygwin.  That's how we build the Windows
versions of our products.

 > Has any effort gone into the cleanup necessary for being able to
 > produce a 64-bit Erlang for Windows? The implication from what I found
 > suggested it's mostly rote work that the core team doesn't have time
 > to do.

No updates that I know of.

 > What exactly is the status of HiPE on the Windows platform?

Same as before, namely that it's not supported but it's probably possible
to support it if you accept a 4KB per-native-thread memory consumption
penalty.  FP exn handling must also be implemented, but I did a
prototype of that some time ago.

 > If work yet remains on these, is there a good starting point on how we
 > might be able to push forward on these items?

Well, as I wrote recently in another thread on erlang-questions,
there are no compiler or VM developers left in the HiPE team, we've
all moved on to other jobs.

I run a small compiler/VM consultancy business on the side, and in
that capacity I'd be willing to port HiPE to Windows and the mingw-w64
toolchain, assuming a Cygwin build environment.  Fixes for the Windows
IL32P64 model should ideally be done by the OTP group, but as they
haven't done those already, and they a prerequisite for a 64-bit Erlang
VM on Windows, I could do those as well.  Contact me offline to work out
the details if you're interested.

/Mikael



More information about the erlang-questions mailing list