Do not use cygwin, instead follow Johan Tibells way
MSYS installation
Install the latest Haskell Platform. Use the default settings. Download version 1.0.11 of MSYS. You'll need the following files: MSYS-1.0.11.exe msysDTK-1.0.1.exe msysCORE-1.0.11-bin.tar.gz The files are all hosted on haskell.org as they're quite hard to find in the official MinGW/MSYS repo. Run MSYS-1.0.11.exe followed by msysDTK-1.0.1.exe. The former asks you if you want to run a normalization step. You can skip that. Unpack msysCORE-1.0.11-bin.tar.gz into C:\msys\1.0. Note that you can't do that using an MSYS shell, because you can't overwrite the files in use, so make a copy of C:\msys\1.0, unpack it there, and then rename the copy back to C:\msys\1.0. Add C:\Program Files\Haskell Platform\VERSION\mingw\bin to your PATH. This is neccesary if you ever want to build packages that use a configure script, like network, as configure scripts need access to a C compiler.
These steps are what Tibell uses to compile the Network for win package, and I used it myself several times on most haskell releases.
Jonke source share