#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 jpflori:
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.
> * `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)
> * #13954 (GAP)
>
> Optionally:
> * #9167 (ECL - optional, as only needed for starting Sage)
> * #9543 (cephes - optional, as it removes cephes)
>
> === 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)
>
> 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. 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)
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
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6743#comment:102>
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.