4 Building SAGE on Microsoft Windows/Cygwin: Special Notes

As mentioned above, it's better to use VMware. However it is possible to build SAGE natively on Windows by installing Cygwin and following the Linux directions above, but keeping in mind the remarks in this section.

AUTHOR: Gary Zablackis

As of 2006-02-16 do not use GCC 4.0.x; instead use GCC 3.4.4.

The following is a list of the packages from Cygwin needed to build SAGE and all optional packages. You do not need all these for building just SAGE.   To build SAGE:

 automake1.7, bison, gcc-core, gcc-g++, make, rebase, clisp, gnuplot, flex
  The following packages are added by the Cygwin setup program when the above are installed:
  binutils, gcc-mingw, gcc-mingw-g++, mingw-runtime, w32api,
  aclocal,  crypt, expat, libdb4,
  m4, perl
    To build numeric-24.0:
  gsl

To build pygtk-2.6.3:

 automake1.7, gettext, glib2, glib2-devel, glib2-doc, glib2-runtime,
 gtk+, gtk+-devel, gtk+-doc, gtk+-engines, gtk2-x11, gtk2-x11-devel,
 gtk2-x11-doc, gtk2-x11-runtime, intltool, libglade2, libtool1.5,
 libXft-devel, libxml2-devel, libxml2-doc, pango-devel, pango-doc,
 pkgconfig

 The following packages are added by the Cygwin  setup  program when the above are installed:  

  alternatives, atk, atk-devel, atk-doc, atk-runtime, automake1.9, file,
  fontconfig, freetype2, glib, glib-devel, imlib, libfontconfig-devel,
  libfongconfig1, libfreetype2-devel, libfreetype26, libltdl3, libpng12,
  libtiff4, libtiff5, libungif, libungif4, libXft, openjade, openSP,
  pango, pango-runtime, pcre, xorg-x11-devel, xorg-x11-* (lots of stuff)
  To build matplotlib:
 libpng12-devel, gdk-pixbuf, gdk-pixbuf-devel, gdk-pixbuf-doc, hicolor-icon-theme

Cygwin as of 2006-04-13 has bugs that make certain Python extensions break (this has been discussed on the cygwin board, and will hopefully be fixed soon). You should install (and build) SAGE using the latest Cygwin install, then downgrade 7 packages, as explained below.

There are 7 cygwin packages that seem to be affected by the 1.5.19.4 problem. If you use the versions listed below, you can use (as far as I can tell) the latest version of anything else:

              coreutils       5.3.0.9
              cygwin          1.5.18-1
              findutils       4.2.25-2
              gettext         0.14.1-1
              libgettextpo0   0.14.1-1
              sed             4.1.4-*
              w32api          3.5-1-*

To install these:

  1. Run the Cygwin setup.exe.
  2. Click the [View] button in the upper right corner to get a complete list instead of a category list.
  3. Click on the "keep, etc." column a few times next to each of the above packages until you get the listed version.
  4. Finish the install.
  5. REBOOT!

If you need to install new Cygwin packages, be sure to click the ``keep'' radio button at the top before selecting them, so you don't accidently upgrade the above packages.

See About this document... for information on suggesting changes.