#6743: cygwin metaticket: port Sage to Microsoft Windows (via Cygwin): stage 1 
--
make building Sage automatic
-------------------------------+--------------------------------------------
       Reporter:  was          |         Owner:  was                            
                                                                   
           Type:  enhancement  |        Status:  needs_review                   
                                                                   
       Priority:  major        |     Milestone:  sage-5.8                       
                                                                   
      Component:  cygwin       |    Resolution:                                 
                                                                   
       Keywords:  sd31 sd32    |   Work issues:                                 
                                                                   
Report Upstream:  N/A          |     Reviewers:  Jean-Pierre Flori, Dmitrii 
Pasechnik, Karl-Dieter Crisman, Mike Hansen, William Stein, Luis Tabera
        Authors:               |     Merged in:                                 
                                                                   
   Dependencies:               |      Stopgaps:                                 
                                                                   
-------------------------------+--------------------------------------------

Old description:

> The goal of this ticket is that a person can:
>
>    1. Install Cygwin and certain standard Cygwin packages (listed below).
>
>    2. Extract the Sage tarball and type "`make`"
>
> and have everything build automatically with no errors.   The goal is
> '''not''' that the resulting build works or Sage starts up.  That will be
> for a later ticket.  Adding checks for all these prereqs will also be
> part of a future ticket.
>
> ----
>
> == Most recent trials and a lot more status detail is at
> http://trac.sagemath.org/sage_trac/wiki/CygwinPort  ==
>
> == Current instructions (work on Windows XP and Windows 7 with latest
> Cygwin) ==
> As below with Sage 5.6.beta2
>
> === Cygwin prereqs ===
> Here is what to install from Cygwin - use the usual stable binaries.
>  * `make`, `perl`, `m4`
>  * either `gcc4-core`  alone and then use the optional gcc-4.7.2 spkg
> (the standard gcc-4.6.3 spkg won't be able to compile ecl) or `gcc4-core`
> and `gcc4-g++` and `gcc4-fortran` whose versions '''must''' match
>  * `libiconv` - or a tweaked iconv spkg from #13912
>  * `liblapack`, `liblapack0`, `liblapack-devel` - though we should be
> able to build ATLAS
>  * `libncurses-devel` - needed by singular to build, not investigated
> yet.
>
> We need to add a test for '''all''' of the above packages on Cygwin which
> the prereq script does not already check, or confirm that they are not
> needed, before making the Cygwin port official.
>
> Other instructions:
>  * Just to make sure, avoid building in home directories of Windows
> domain users, as they are treated in a special way by Windows (and
> Cygwin).
>  * It's a good idea that all the pathnames do not contain capital letters
> (Windows is case-insensitive in this way, unlike Unices), spaces, etc.,
> see #13343
>  * Similarly, do not ''test'' without making sure that `SAGE_TESTDIR`
> does not contain spaces.
>  * Also, '''don't forget to''' {{{export SAGE_PORT=yes}}} (only needed
> the first time you issue make though, not after failures (memleak,
> rebase...) and relaunching the build)!
>
> === Spkgs ===
> Install the following spkgs ahead of time, e.g. in
> `SAGE_ROOT/spkg/standard/` before compiling
>  * #11635 (NTL)
>  * #13324 (ECL)
>  * #13137 (MPIR)
>  * #13804 (fplll)
>  * #13954 (GAP)
>  * #13914 (zlib)
>   * This has not been tested on XP, but should work; otherwise install
> zlib-devel on Cygwin
>  * #13844 (patch)
>   * This has not been tested on XP, but should work; otherwise install
> patch on Cygwin
>
> Optionally:
>  * #9167 (ECL - optional, as only needed for starting Sage)
>  * #9543 (cephes - optional, as it removes cephes which fails to build
> undetected anyway currently)
>
> === Patches ===
> You may have to add patches during the build of the Sage library.  Once
> it fails, do (assuming you are in `SAGE_ROOT`)
> {{{
> ./sage -sh
> cd devel/sage
> <import the patches - you may need to make ~/.hgrc>
> cd ../..
> ./sage -b
> <assuming all goes well here>
> touch spkg/installed/sage-5.6.rc0 # or whatever the version number is
> exit
> }}}
>   which will bring you back to your normal shell.
>
> Patches currently needed for:
>  * #13806
>
> After the build is completed, for doctests it would be helpful to apply
> patches from (following the developer guide)
>  * #13324 (ECL)
>
> This should then work 'out of the box', modulo rebasing issues (see
> [wiki:CygwinPort]).  See [wiki:CygwinPort the wiki] for other details as
> well.
>
> ----
>
> #13841 is a followup ticket for Sage to ''start'' as well automatically.
> Hopefully it won't be necessary, but the past teaches us that often Sage
> would build, but not start, so that's a little insurance.
>

> ----
>
> There is (or was) a very old binary of Cygwin available here:
>
> http://sage.math.washington.edu/home/wstein/tmp/sage-4.1-cygwin-i686-CYGWIN_NT-5.1.tar.gz

New description:

 The goal of this ticket is that a person can:

    1. Install Cygwin and certain standard Cygwin packages (listed below).

    2. Extract the Sage tarball and type "`make`"

 and have everything build automatically with no errors.

 The goal is '''not''' that the resulting build works or Sage starts up
 (this is #13841), but if that happens as well, this will be great.  Adding
 checks for all these prereqs, if necessary, will also be part of a future
 ticket.

 ----

 == More info ==
 Most recent trials and a lot more archived status detail is at
 http://trac.sagemath.org/sage_trac/wiki/CygwinPort

 == Current instructions (work on Windows XP and Windows 7 with latest
 Cygwin) ==
 As below with Sage 5.8.beta3

 === Cygwin prereqs ===
 Here is what to install from Cygwin - use the usual stable binaries.
  * `make`, `perl`, `m4`, `binutils`
  * either `gcc4-core`  alone and then use the optional gcc-4.7.2 spkg (the
 standard gcc-4.6.3 spkg won't be able to compile ecl) or `gcc4-core` and
 `gcc4-g++` and `gcc4-fortran` whose versions '''must''' match
  * `liblapack`, `liblapack0`, `liblapack-devel` - though we should be able
 to build ATLAS

 Other instructions:
  * Just to make sure, avoid building in home directories of Windows domain
 users, as they are treated in a special way by Windows (and Cygwin).
  * It's a good idea that all the pathnames do not contain capital letters
 (Windows is case-insensitive in this way, unlike Unices), spaces, etc.,
 see #13343
  * Similarly, do not ''test'' without making sure that `SAGE_TESTDIR` does
 not contain spaces.
  * Also, '''don't forget to''' {{{export SAGE_PORT=yes}}} (only needed the
 first time you issue make though, not after failures (memleak, rebase...)
 and relaunching the build)!

 === Spkgs ===
 Install the following spkgs ahead of time, e.g. in
 `SAGE_ROOT/spkg/standard/` before compiling
  * #13351 (lcalc)

 === Patches ===
 You may have to add patches during the build of the Sage library.  Once it
 fails, do (assuming you are in `SAGE_ROOT`)
 {{{
 ./sage -sh
 cd devel/sage
 <import the patches - you may need to make ~/.hgrc>
 cd ../..
 ./sage -b
 <assuming all goes well here>
 touch spkg/installed/sage-5.6.rc0 # or whatever the version number is
 exit
 }}}
   which will bring you back to your normal shell.

 Patches currently needed for:
  * #13351

 This should then work 'out of the box', modulo rebasing issues (see
 [wiki:CygwinPort]).  See [wiki:CygwinPort the wiki] for other details as
 well.

 ----

 There is (or was) a very old binary of Cygwin available here:

 
http://sage.math.washington.edu/home/wstein/tmp/sage-4.1-cygwin-i686-CYGWIN_NT-5.1.tar.gz

--

Comment (by kcrisman):

 I only had trouble with #13351 and fork problems during matplotlib (which
 even rebasing didn't solve).  I do ''not'' have libncurses-devel (checked
 `cygcheck -c`), only libncurses 8 through w10, so I'm removing that as a
 dependency based on the experiences JP reports above.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6743#comment:182>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to