> Why is it such a pain to build this stuff on windows ...
You are perfectly right.
Building on Windows + MSYS + MinGW is really a big pain;
and if this is true on a general way, building GEOS really
is an awful nightmare.
a) Windows has it's own idiosyncrasies
(and the standard tools as make, gcc ... are primarily
intended for Unix-like systems, not for Windows)
b) MSYS + MinGW are really wonderful, but they are neither
perfect nor infallible
c) some packages (notably GEOS) are so complex and huge
that building them is anyway a quite complex task
[on Linux as well]
GEOS actually is the C++ porting of the original Java JTS;
so, in order to allow for an easiest porting from Java,
GEOS developers used lots and lots of 'extreme' C++ features,
and this make compiling GEOS a tricky and risky affair, because
the slightest syntax incompatibility will produce a complete
failure.
To make things a little bitter, the GEOS devel team supports
MS compilers for Windows, but not MinGW :-(
On Windows I wasn't able to build any GEOS version
(3.0.0, 3.0.1, 3.0.3) using the latest MinGW;
I finally got a successful build using an obsolete and
not yet updated PC I've dismissed last year; oldest MinGW
versions will build GEOS successfully, but the latest ones
will inexorably fail for some reason.
[Quite surprisingly, no one of the problems you've encountered
is similar to the ones I found ... they are completely different]
And that's not all; I wasn't able to build GEOS on Fedora 9 as well,
after I installed the latest gcc updates.
I can successfully build on Ubuntu 8.04 and/or on Fedora 7, but on
Fedora 9 I got a complete failure.
So the problem seems to be this one: latest GCC versions
(October 2008, more or less) have some (obscure) incompatibility
with GEOS own 'extreme' C++ syntax ....
bye, Sandro