Version 79 (modified by kcrisman, 11 years ago) (diff)


(Old) Cygwin prebuilt sage binaries for cygwin are here:

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,
  • and patch (at least on Windows 7 building Sage's spkg patch fails, see #11232)
  • And, as a reminder, dont' forget fortran
  • On a very minimal install, you may need to put in gcc and make and m4 and perl...
    • ssh and scp don't hurt, either
    • and nano or vim or something edit files with

Build Tickets

Win 7 only

  • #11245: on Win7 tar does not unpack cddlib and networkx spkg's right. See the ticket for a workaround.
  • #11232: patch spkg should not be installed, use Cygwin's (needs review)

Win XP only or both

  • #11246: flint-1.5.0.p5 extraneous #includes break typedef ulong (needs review)
  • #11119: ECL 11.1.1 fails on Cygwin (patches fixing the issues given on the ticket)
  • #10240: pari-2.4.3.svn-12577.p9 incorrectly checks for the shared library on Cygwin (should be fixed by #11130)
  • #11494: libblas.dll.a is not copied to $SAGE_LOCAL/lib when ATLAS is "installed" (breaks linbox) (should be fixed by #10226)
  • Add "#include <time.h>" to src/Singular/Minor.h the in the Singular spkg
    • This is not needed for at least one XP with Cygwin 1.7.3
  • #11504: Tachyon fails to build due to same failure that was fixed in #7335.
  • The following files need to be copied "libcliquer.dll ->", "libflint.dll ->", "libntl.dll.a -> libntl.dll"
  • #11497: Twisted sometimes doesn't build
  • #11499: sage/rings/factorint needs gmp as a dependency
  • Maxima
    • #11502: Maxima fails to build on Cygwin on XP
    • #11260: ECL-11.1.1 fails to compile maxima on WIndows 7 / Cygwin 1.7.9 (really stuck here :-( )
    • #8269: Maxima doesn't build on XP (but apparently this should be closed?)

Doctest Tickets

  • #9162 -- pynac.pyx use double precision special functions instead of long double (REVISITED)
  • #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 doctest hangs seemingly forever
  • #9170 -- get_memory_usage isn't implemented, e.g., because there's no top
  • #9171 -- some test failures in
  • #9172 -- numerical noise in sage/rings/integer.pyx
  • #9173 -- 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


  • #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, 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)
  • #9154: BoehmGC again!
  • #10247: Sage 4.6 has PARI problems on Cygwin
  • #11167: Sage 4.7.alpha3 library doesn't build under Cygwin
  • #9163 -- output of a subtle test in differs slightly on cygwin

how to mark CYGWIN-specific parts in code

gcc on CYGWIN defines a variable __CYGWIN__. So you can use it to #if(n)def stuff.

issue with Python 2.6 (obsolete, as Cygwin now has Python 2.6.5 as the standard)

(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)