wiki:CygwinPort

Version 86 (modified by kcrisman, 10 years ago) (diff)

--

(Old) Cygwin prebuilt sage binaries for cygwin are here: http://sage.math.washington.edu/home/wstein/binaries/cygwin/

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)
  • Possibly libiconv on Windows 7?
  • Apparently openssl on Windows 7 in order to build libgpg-error
  • And, as a reminder, dont' forget fortran
  • And make sure you download all gcc and g++ so the versions match
  • 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 to 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)
  • Issue with Python 2.6.4 building. Relevant comments:
    • Comment 0 - Original report, from March 2010, at http://groups.google.com/group/sage-windows/browse_thread/thread/88499b995a22ecc1
    • Comment 1 - I had no problems with that thus far in Vista Premium 32-bit - Alec Mihailovs
    • Comment 2 - 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
    • Comment 3 (from somebody) "obsolete, as Cygwin now has Python 2.6.5 as the standard" - true, but apparently still a problem for us
    • Comment 4 - Python spkg builds fine on XP - kcrisman
    • Comment 5 - Tried this fix on Win7 after it failed on the first extension, but it failed in the next extension after that. Definitely seems to be an issue.

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.
  • #11547: The following files need to be copied "libcliquer.dll -> libcliquer.so", "libflint.dll -> libflint.so", "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?)
  • Things observed once
    • Apparent Pari segfault on startup?
    • sagenb not importing?
    • Maxima actually building!

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

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)
  • #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 expect.py 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.