#11081: Update the "Install from Source Code" section of the Sage Installation
Guide
-----------------------------------------------------------------------------------------------------+
Reporter: drkirkby
| Owner: mvngu
Type: enhancement
| Status: needs_info
Priority: blocker
| Milestone: sage-4.7
Component: documentation
| Keywords:
Author: David Kirkby
| Upstream: N/A
Reviewer: Karl-Dieter Crisman, Florent Hivert, John Palmieri, Dmitrii
Pasechnik, Jeroen Demeyer | Merged:
Work_issues:
|
-----------------------------------------------------------------------------------------------------+
Description changed by drkirkby:
Old description:
> The Sage installation guide has a section on installing Sage from source
>
> http://www.sagemath.org/doc/installation/source.html
>
> but it is inaccurate, incomplete and dangerous in certain places.
> Specific problems are below. These are roughly listed in the order they
> appear in the manual.
>
> * It fails to point out one of the advantages of building from source is
> that certain parts of Sage get optimised for ones own computer.
> * It has a list of supported systems, which is outdated, so I replaced
> that with a link to http://wiki.sagemath.org/SupportedPlatforms. Current
> it has outdated comments like:
> * ''We hope to support OS X 10.5 in our next release'' and
> * ''We do plan to fully support Solaris - it’s a very important
> platform.''
> * The information about {{{perl}}} is inaccurate. This is also needed
> for R, and it must be at least {{{perl 5.8.0}}}. I added the list of
> versions of software where appropriate.
> * It suggests use of the {{{which}}} command, but a more portable
> version is to use {{{command -v}}}, as {{{which}}} is not a required
> component of a UNIX operating system - it is not defined by POSIX and was
> the source of one issue on Solaris.
> * It says if {{{which m4}}} returns nothing or an error than {{{m4}}} is
> not installed. But it could well be installed, but not in the PATH.
> * There's a comment about the {{{m4}}} command. I added a note this was
> installed in {{{/usr/ccs/bin}}} on Solaris, as this is far from obvious.
> There are a few other Solaris notes I made.
> * It says you need to have {{{ssh-keygen}}} installed to run the server
> in secure mode, which is true. It then says ''To run it in insecure mode,
> run the command notebook(secure=False) instead of notebook()'' but this
> is incorrect, as the default is to run in insecure mode.
> * It recommends on installs the readline package, yet this is part of
> Sage.
> * It says ''Sage is currently being developed using GCC version 4.3.x'',
> whereas in fact Sage tends to be developed with pretty recent versions of
> the compilers.
> * There's a reference to a system wide {{{gFortran}}}, whereas the
> command has no capital F.
> * It says starting Sage for the '''first''' time can take a few seconds.
> I changed that to a few minutes, as running Sage for the n^th^ time,
> where n>1 can take more than a minute on some systems.
> * I changed the version numbers and dates of a few commands. The example
> of running Sage shows ''SAGE Version 3.1, Release Date: 2008-08-16'' I
> replaced that with a more recent version.
> * An example shows ''GAP4, Version: 4.4.6 of 02-Sep-2005'' so I changed
> that to the current version in Sage (''GAP4, Version: 4.4.12 of
> 17-Dec-2008''). That also happens to be the latest version, so I don't
> know if GAP development has ceased, or just taken a long break.
> * As with GAP and Sage, I changed the example to show a more recent
> version of Singular.
> * I changed the fact testing was ''Optional'' to '' Optional, but highly
> recommended''.
> * Probably not necessary, but I changed the times to build Sage from
> ''30 minutes to an hour or longer'' to span a wider range of times.
> * Removed the information about deleting files in
> {{{$SAGE_ROOT/spkg/build}}} to save 500 MB of disk space, as that's no
> longer true - they get deleted after each package is built. One or two
> packages do remain there (like ''prereq''), but deleting them won't save
> much disk space.
> * Change ''nonempty'' to ''non-empty'' in several places.
> * Since there were some comments about building Sage from source as
> root, mainly due to Luis Finotti, I felt obliged to add my own comment
> that I think building Sage as root is dangerous, and provided a link to a
> trac bug (#9551) where Sage would have overwritten a system file had I
> been stupid enough to build as root.
> * As much as I think it's silly building Sage as root in
> {{{/usr/local}}}, I updated the version of the example from 2.5.2 to
> 4.6.2.
>
> I've put quite a bit of work into this, and I think generally it is an
> improvement. I'll be receptive to constructive comments. But '''PLEASE
> PLEASE PLEASE''' can we avoid what happens on tickets some times, when
> tons of people argue about the smallest of details and tickets drag on
> for months. If the comments drag on and on, I might ask that someone
> review the patch as it is, and create another ticket to fix further
> changes. People can always create other tickets for other changes.
>
> == Notes for reviewers and the release manager ==
> * 1) Apply 11081-install-from-source.patch
> * 2) Apply 11081-install-from-source-Additional-information.patch
> * 3) Apply 11081-minor-changes.patch
> * 4) Apply 11081-dont-use_GCC_4_3_2.patch
New description:
The Sage installation guide has a section on installing Sage from source
http://www.sagemath.org/doc/installation/source.html
but it is inaccurate, incomplete and dangerous in certain places. Specific
problems are below. These are roughly listed in the order they appear in
the manual.
* It fails to point out one of the advantages of building from source is
that certain parts of Sage get optimised for ones own computer.
* It has a list of supported systems, which is outdated, so I replaced
that with a link to http://wiki.sagemath.org/SupportedPlatforms. Current
it has outdated comments like:
* ''We hope to support OS X 10.5 in our next release'' and
* ''We do plan to fully support Solaris - it’s a very important
platform.''
* The information about {{{perl}}} is inaccurate. This is also needed for
R, and it must be at least {{{perl 5.8.0}}}. I added the list of versions
of software where appropriate.
* It suggests use of the {{{which}}} command, but a more portable version
is to use {{{command -v}}}, as {{{which}}} is not a required component of
a UNIX operating system - it is not defined by POSIX and was the source of
one issue on Solaris.
* It says if {{{which m4}}} returns nothing or an error than {{{m4}}} is
not installed. But it could well be installed, but not in the PATH.
* There's a comment about the {{{m4}}} command. I added a note this was
installed in {{{/usr/ccs/bin}}} on Solaris, as this is far from obvious.
There are a few other Solaris notes I made.
* It says you need to have {{{ssh-keygen}}} installed to run the server
in secure mode, which is true. It then says ''To run it in insecure mode,
run the command notebook(secure=False) instead of notebook()'' but this is
incorrect, as the default is to run in insecure mode.
* It recommends on installs the readline package, yet this is part of
Sage.
* It says ''Sage is currently being developed using GCC version 4.3.x'',
whereas in fact Sage tends to be developed with pretty recent versions of
the compilers.
* There's a reference to a system wide {{{gFortran}}}, whereas the
command has no capital F.
* It says starting Sage for the '''first''' time can take a few seconds.
I changed that to a few minutes, as running Sage for the n^th^ time, where
n>1 can take more than a minute on some systems.
* I changed the version numbers and dates of a few commands. The example
of running Sage shows ''SAGE Version 3.1, Release Date: 2008-08-16'' I
replaced that with a more recent version.
* An example shows ''GAP4, Version: 4.4.6 of 02-Sep-2005'' so I changed
that to the current version in Sage (''GAP4, Version: 4.4.12 of
17-Dec-2008''). That also happens to be the latest version, so I don't
know if GAP development has ceased, or just taken a long break.
* As with GAP and Sage, I changed the example to show a more recent
version of Singular.
* I changed the fact testing was ''Optional'' to '' Optional, but highly
recommended''.
* Probably not necessary, but I changed the times to build Sage from ''30
minutes to an hour or longer'' to span a wider range of times.
* Removed the information about deleting files in
{{{$SAGE_ROOT/spkg/build}}} to save 500 MB of disk space, as that's no
longer true - they get deleted after each package is built. One or two
packages do remain there (like ''prereq''), but deleting them won't save
much disk space.
* Change ''nonempty'' to ''non-empty'' in several places.
* Since there were some comments about building Sage from source as root,
mainly due to Luis Finotti, I felt obliged to add my own comment that I
think building Sage as root is dangerous, and provided a link to a trac
bug (#9551) where Sage would have overwritten a system file had I been
stupid enough to build as root.
* As much as I think it's silly building Sage as root in
{{{/usr/local}}}, I updated the version of the example from 2.5.2 to
4.6.2.
I've put quite a bit of work into this, and I think generally it is an
improvement. I'll be receptive to constructive comments. But '''PLEASE
PLEASE PLEASE''' can we avoid what happens on tickets some times, when
tons of people argue about the smallest of details and tickets drag on for
months. If the comments drag on and on, I might ask that someone review
the patch as it is, and create another ticket to fix further changes.
People can always create other tickets for other changes.
== Notes for reviewers and the release manager ==
* 1) Apply 11081-install-from-source.patch
* 2) Apply 11081-install-from-source-Additional-information.patch
* 3) Apply 11081-minor-changes.patch
* 4) Apply 11081-dont-use_GCC_4_3_2.patch
* 5) Apply 11081-use-recent-gcc.patch
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11081#comment:25>
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.