I have recently downloaded the PolyML 5.2.1 archive and built it on my 4GB Vista x64 SP2 box, feeding the supplied Visual Studio workspace to my VS 2008 SP1 dev environment.
This went quite well, with only 2 build errors and one execution problem stopping the entire bootstrapping process! :)
The 2 errors are just from using the newer dev environment: the _osver variable is no longer available. So, the 2 usages (line 1434 in basicio.cpp and line 168 in process_env.cpp) need to change. As a minimal change, I would suggest
if (_osver & 0x8000) => if (GetVersion() & 0x80000000)
as something that will still work in older and newer environments.
The execution issue happens early in the "Custom Build Step" use of PolyImport.exe: during startup, the polymain(...) function obtains the size of installed physical memory, and then defaults to using half of it.
IMHO, this logic could use a new look, given modern system memory levels (4GB and up is becoming common, especially in today's dev environments)... in any case, the first actual call to VirtualAlloc is for something like 1.5 GB, and is failed. Since I was willing to believe that finding that much contiguous virtual address space could be hard - or maybe it was just that the demand to commit all of it too was the actual cause - I just forcibly cut the memory usage back to 256M and the rest of the build proceeded flawlessly, creating a functioning PolyML system.
I built all 4 of the pre-defined targets - the only one that appeared seriously slow was the "IntDebug". ;)
So, possibly adding some logic to (in the absence of command-line or other override) "cap" the default memory usage at 256 MB or 512 MB might be in order?
Robert