Here is a list (in-progress) of the things needs to get Sage to build (and pass most tests) on Cygwin:
== Cygwin Prerequisites ==
These Cygwin packages need to be installed in order for the Sage build to complete.
* file, liblapack, liblapack0, liblapack-devel
* Prebuilt sage binaries for cygwin are here: http://sage.math.washington.edu/home/wstein/binaries/cygwin/
== Doctest Tickets ==
* #9162 -- pynac.pyx use double precision special functions instead of long double (REVISITED)
* #9163 -- output of a subtle test in expect.py differs slightly on cygwin
* #9165 -- lcalc does not work for elliptic curves on cygwin
* #9167 -- importing sage.libs.ecl yields a "no such process" error
* #9168 -- ratpoints does not work correctly
* #9169 -- a cachefunc.py doctest hangs seemingly forever
* #9170 -- get_memory_usage isn't implemented, e.g., because there's no top
* #9171 -- some test failures in sagedoc.py
* #9172 -- numerical noise in sage/rings/integer.pyx
* #9173 -- BSD.py tests behave differently on cygwin, so need to be written to reflect that
* #9174 -- robert miller's 2-descent is completely broken on cygwin
* #9176 -- various heegner_index errors involving interval arithmetic on cygwin
== Build Tickets ==
* #8278 / #6456: cvxopt does not work in Cygwin
* #11119: ECL 11.1.1 fails on Cygwin
* #9154: BoehmGC again! (needs review)
* #10247: Sage 4.6 has PARI problems on Cygwin
* #10240: pari-2.4.3.svn-12577.p9 incorrectly checks for the shared library on Cygwin
== Closed ==
* #9845: lcalc doesn't build on cygwin due to missing time.h include
* #9776: Cygwin: GLPK extension module needs to be more explicit in its linking (positive review)
* #9146: cygwin: gd doesn't correctly link in libpng with sage-4.4.3.
* #8257: gd needs a better version of expr
* #7319: gdmodule fails
* #7321: numpy fails to build on cygwin due to not using the correct fortran compiler
* #8780: Add cephes spkg for Cygwin (provides complex.h amongst other things)
* #8192: !PolyBoRi needs png12 and z to build on Cygwin.
* #8782: pari does not work under Cygwin
* #8907: Python should be build with enable-shared
* #9050: libntl.dll should be libntl.dll.a
* #8542 / #8903: Pynac needs to use a function pointer table.
* #7337: !PolyBoRi fails to build on cygwin
* libflint.dll needs to be libflint.so, or polynomial_integer_dense_flint.pyx needs to know to use the .dll (maybe not a real issue, let's wait an see on this one).
* #8642: port detection for the notebook does not work in Cygwin
* #8855: sage-env needs to be updated for Cygwin
* #8853: fix M_PI_4 in complex_double on Cygwin
* #8852: minor doctest fix in fast_eval.pyx for Cygwin
* #8850: Cython should link against BLAS instead of ATLAS on Cygwin
* #8849: the palp interface throws a (harmless?) OSError on Cygwin
* #8848, #8847, #8846, #8845, #8844, #8843
* #9067: boehm_gc (still) fails to build on Cygwin
* #9166 -- sympow does not work on cygwin (This should be fixed by the patches made for Solaris x86 - see #9703)
== Possible issue with Python 2.6 ==
http://groups.google.com/group/sage-windows/browse_thread/thread/88499b995a22ecc1
(I had no problems with that thus far in Vista Premium 32-bit -Alec Mihailovs)
(Alec - Win7 has a newer codebase, so this is not really a proof that we need not worry --- I think we really need to. Dmitrii)