Differences between revisions 129 and 130
Revision 129 as of 2010-09-02 16:04:51
Size: 21764
Editor: BillHart
Comment:
Revision 130 as of 2010-09-02 16:19:43
Size: 21395
Editor: BillHart
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
 || [[http://www.cython.org/ | cython]] || Y || Y || Y || 0.9.6.12 || pure python, no portability issues, might needs some TLC for various config issues [[my impression from cython-devel is that there are already numerous windows users of cython]] ||  || [[http://www.cython.org/ | cython]] || Y || Y || Y || 0.9.6.12 || pure python, no portability issue ||
Line 34: Line 34:
 || [[http://www.shoup.net/ntl/ | ntl]] || Y || P || Y || 5.5.2 || works fine with MSVC. Some functions like the time functions use old and crappy Win95+ interfaces. That can be easily fixed. It is very difficult to get fixes merged upstream, but the potential diff is rather small. The build requires Perl for a tuned build [[upstream merging probably isn't as hard as you think. The NTL author is a number theorist that many of "us", e.g,. John Cremona, know well.]] <<BR>> See: [[ http://www.shoup.net/ntl/doc/tour-win.html | MSVC 6 ]] ||  || [[http://www.shoup.net/ntl/ | ntl]] || Y || P || Y || 5.5.2 || works fine with MSVC. Some functions like the time functions use old and crappy Win95+ interfaces. That can be easily fixed. The build requires Perl for a tuned build - See: [[ http://www.shoup.net/ntl/doc/tour-win.html | MSVC 6 ]] ||
 || [[http://numpy.scipy.org/ | numpy]] || Y || Y || Y || 20080104-1.0.4.p2 || support by enthought, builds out of the box with MSVC + ATLAS ||
Line 112: Line 113:
 || [[http://numpy.scipy.org/ | numpy]] || || || || 20080104-1.0.4.p2 || support by enthought, builds out of the box with MSVC + ATLAS ||
 || [[http://www.scipy.org/ | scipy]] || || ||
|| 20071020-0.6.p3 || support by enthought, builds out of the box with MSVC + ATLAS ||
 || scipy_sandbox || || || || 20071020.p2 || support by enthought, builds out of the box with MSVC + ATLAS ||
 || [[http://www.scipy.org/ | scipy]] || Y || Y || Y || 20071020-0.6.p3 || support by enthought, builds out of the box with MSVC + ATLAS ||
 || scipy_sandbox || Y || Y || Y || 20071020.p2 || support by enthought, builds out of the box with MSVC + ATLAS ||

This page is part of the Sage on Windows port.

Package Analysis

Below you will find a list of packages in Sage as well as remarks on issues that will potentially come up during the Windows port. As we progress we will add detailed problem reports and how we resolved those issues at individual pages.

Build dependencies of Sage (port these first for a minimal Sage on Windows)

Other dependencies of Sage (may be omitted for now)

Runtime dependencies of Sage (these are probably only needed at runtime for specific functionality)

  • Website

    Win32

    Win64

    MSVC

    Version

    Comments

    cddlib

    N

    N

    N

    094b.p1

    unclear how hard the port will be, but shouldn't be too hard.

    cu2

    cubex

    cvxopt

    Y

    N

    N

    0.9.p5

    Has Windows build support, provides binary packages

    dikcube

    examples

    2.10.2.alpha0

    no compiled code, i.e. no problem

    extcode

    XXX

    various code in interpreted languages, i.e. javascript, java, Magma, pari, singular, no porting issues

    flintqs

    20070817.p2

    is obsolete, use mpQS part of more recent flint

    gap

    4.4.10.p2

    Depends on sbrk(), currently builds only via Cygwin. a cygwin build could be fine for us, since there is no binary linking between sage and gap, and almost certainly there never will be any.

    gap-guava

    gdmodule

    0.56.p4

    should be pretty easy to do for MSVC Boothby told me this swig-generated "crap" will be removed from sage soon, he hopes.

    genus2reduction

    0.3.p1

    unclear, don't really see any problem easy, probably; it's just math

    gfan

    0.2.2.p2

    unclear how hard the port will be, but shouldn't be too hard. we should upgrade to 0.2.3 first. Some more remarks: gfan requires argv[0] to switch to the right computation. I.e. during installation the following is executed: "ln -s gfan gfan_weightvector". This should be portable, but symlinks can be problematic on Windows.

    ipython

    0.8.1.p1

    should work fine with MSVC definitely will work fine.

    jinja

    XXXX

    jmol

    11.5.2.p1

    pure java, no portability issues, large community of users on Windows

    jsmath

    XXXX

    matplotlib

    0.91.1.p3

    should work with MSVC, more investigation is needed I'm sure this will work -- it is also part of what the enthought people distribute for windows.

    maxima

    5.13.0.p2

    Should build fine with Clisp, Windows binary package exists.

    mcube

    sage-notebook

    optimalrubik

    20070912.p1

    no Windows port, but simple C/C++ code without any POSIX dependencies. Console applications easy?

    palp

    1.1.p1

    unclear how hard the port will be, but shouldn't be too hard.

    pexpect

    2.0.p1

    Difficult. pexpect uses pseudo ttys and a whole bunch of POSIX infrastructure. It is essential and central to Sage and no one has ported pexpect to Windows. While the API is very different it is still possible to map all functionality to native Windows API calls. Instead of porting pexpect, it might be possible to do something different that accomplishes the same thing. pexpect was the way to go with Python and Unix. It's possibly OK if this means rewriting SAGE_ROOT/devel/sage/sage/interfaces/ for this new approach. Some of the programs Sage interfaces with have native "client server" archicture, and that could perhaps be used instead. E.g., Maple and Mathematica do. Maxima almost certainly doesn't...

    pycrypto

    2.0.1.p1

    unclear how hard the port will be, but shouldn't be too hard. maybe trivial??

    python_gnutls

    1.1.4.p2

    Should work, uses dlopen based mechanism. Is essential to the notebook, but can be dropped in favour of system's OpenSSL compatible library

    r

    2.6.1.p14

    Existing MinGW port, not too difficult to build. Port to MSVC desired. They don't already have a native MSVC port? Wow. That's amazing.

    sage-doc

    sage-latex

    http://rpy.sourceforge.net/ rpy

    1.0.1.p1

    Support for MSVC in 32 bit mode with MSVC. No Cygwin support, but patch by Abshoff exists

    sphinx

    XXXX

    sympow

    1.018.1.p4

    tricky code that needs the right FPU flags set. Otherwise no big hurdles to overcome

Packages with upstream MSVC support

  • Website

    Win32

    Win64

    MSVC

    Version

    Comments

    scipy

    Y

    Y

    Y

    20071020-0.6.p3

    support by enthought, builds out of the box with MSVC + ATLAS

    scipy_sandbox

    Y

    Y

    Y

    20071020.p2

    support by enthought, builds out of the box with MSVC + ATLAS

    tachyon

    0.98beta.p4

    Windows port exists, unsure about MSVC + threading.

    weave

    0.4.9

    now part of scikits, works fine with MSVC

    zodb

    3.7.0.p0

    mostly python, unknown difficulty to port probably easy

Pure Python Packages

  • Website

    Win32

    Win64

    MSVC

    Version

    Comments

    moin

    1.5.7.p2

    python based, should work fine on Windows

    networkx

    0.36.p1

    pure python, no portability issues

    twisted

    2.5.0.p9

    python, is supported, relevant to notebook

Packages without code

  • Website

    Win32

    Win64

    MSVC

    Version

    Comments

    conway_polynomials

    N/A

    N/A

    N/A

    0.2

    platform independent, i.e. no known Windows specific issues trivial -- just a pickle

    doc

    2.10.2.alpha0

    no compiled code, so no portability issues.

    elliptic_curves

    0.1

    elliptic curve database, so no porting issues

    graphs

    20070722

    graph database, so no porting issues

    polytopes