#6743: cygwin metaticket: port Sage to Microsoft Windows (via Cygwin): stage 1 
--
make building Sage automatic
-------------------------------+--------------------------------------------
       Reporter:  was          |         Owner:  was     
           Type:  enhancement  |        Status:  new     
       Priority:  major        |     Milestone:  sage-5.6
      Component:  cygwin       |    Resolution:          
       Keywords:  sd31 sd32    |   Work issues:          
Report Upstream:  N/A          |     Reviewers:          
        Authors:               |     Merged in:          
   Dependencies:               |      Stopgaps:          
-------------------------------+--------------------------------------------
Description changed by kcrisman:

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.5.rc0
>
> === Cygwin prereqs ===
> Here is what to install from Cygwin - use the usual stable binaries.
>  * `file`, `patch`
>  * `liblapack`, `liblapack0`, `liblapack-devel`
>  * `libiconv`, `openssl`, `openssl-devel`
>  * `libgc-devel` - although it's not needed to build, it is to start
>  * `zlib-devel` - apparently needed on Win 7
>  * `libncurses-devel`
>  * `make`, `perl`, `m4`
>  * Use all `gcc` and `g++` and `fortran`; the versions '''must''' match,
> and `gcc4` is the type we want
> 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.
>  * Similarly, do not ''test'' without making sure that `SAGE_TESTDIR`
> does not contain spaces.
>  * Also, '''don't forget to''' {{{export SAGE_PORT=yes}}}!
>
> We need to add a test for '''all''' of the above packages to the prereq
> script for Cygwin before making the Cygwin port official.
>

> === Spkgs ===
> Install the following spkgs ahead of time, e.g. in
> `SAGE_ROOT/spkg/standard/` before compiling
>  * #11635 (NTL)
>  * #13324 (ECL, but *not* including #9167 yet)
>  * #13137 (MPIR)
>  * #13755 (linbox, on Win 7)
>  * #13325 (eclib)
>  * #13319 (Python, based on #13631)
>  * #13799 (cvxopt)
>
> === Patches ===
> You will 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.5.rc0 # or whatever the version number is
> exit
> }}}
>   which will bring you back to your normal shell.
>
> Patches currently needed for:
>  * #13325
>  * #13802
>  * #13806 (on Win 7, at least)
>
> 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.  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.
  * `file`, `patch`
  * `liblapack`, `liblapack0`, `liblapack-devel`
  * `libiconv`, `openssl`, `openssl-devel`
  * `libgc-devel` - although it's not needed to build, it is to start
  * `zlib-devel` - apparently needed on Win 7
  * `libncurses-devel`
  * `make`, `perl`, `m4`
  * Use all `gcc` and `g++` and `fortran`; the versions '''must''' match,
 and `gcc4` is the type we want

 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.
  * Similarly, do not ''test'' without making sure that `SAGE_TESTDIR` does
 not contain spaces.
  * Also, '''don't forget to''' {{{export SAGE_PORT=yes}}}!

 === 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, needed only on Win 7)

 Optionally:
  * #9167 (ECL - optional, as only needed for starting Sage)
  * #9543 (cephes - optional, as it removes cephes)
  * #13364 (Maxima - purely optional but might as well)

 === 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.5.rc0 # or whatever the version number is
 exit
 }}}
   which will bring you back to your normal shell.

 Patches currently needed for:
  * #13806 (on Win 7, at least)
  * #13364 (Maxima, if you use the spkg there)

 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

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6743#comment:92>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to