Ticket #11959: trac_11959-sage.v2.patch

File trac_11959-sage.v2.patch, 5.2 KB (added by John Palmieri, 11 years ago)

Sage library

  • doc/en/installation/source.rst

    # HG changeset patch
    # User J. H. Palmieri <palmieri@math.washington.edu>
    # Date 1319754307 25200
    # Node ID a8d397a37c99080957d5aa5d10ed1000ee80ac0b
    # Parent  1b021b4d026aeced55260960803f6ec78f3eaeb9
    #11959: make Sage build spkgs in parallel by default.
    Only build in serial if either SAGE_PARALLEL_SPKG_BUILD=no or if you
    run "make build-serial", and change the documentation accordingly.
    diff --git a/doc/en/installation/source.rst b/doc/en/installation/source.rst
    a b spaces in its name will also fail. 
    338338   a day to build Sage. If the build is successful, you will not see
    339339   the word ERROR in the last 3-4 lines of output.
    341    If the build of Sage fails, then type the following from the directory
     341   Each component of Sage has its own build log, saved in
     342   ``SAGE_ROOT/spkg/logs``.  In particular,
     343   if the build of Sage fails, then you can type the following from the directory
    342344   where you typed ``make``.
    344346   ::
    346             grep "An error occurred" spkg/logs/*
     348            grep -li "An error" spkg/logs/*
    348    then paste the contents of the log file(s) with errors to the Sage
     350   Then paste the contents of the log file(s) with errors to the Sage
    349351   support newsgroup http://groups.google.com/group/sage-support
    350352   If the log files are very large (and many are), then don't paste
    351353   the whole file, but make sure to include any error messages.
    Environment variables 
    552554Sage uses several environment variables to control its build process.
    553 Most users won't need to use any of these: the build process just
    554 works on many platforms.  Building Sage involves building about 100
    555 packages, each of which has its own compilation instructions.
     555Most users won't need to set any of these: the build process just
     556works on many platforms.  (Note though that setting :envvar:`MAKE`, as
     557described below, can significantly speed up the process.)  Building
     558Sage involves building about 100 packages, each of which has its own
     559compilation instructions.
    557561Here are some of the more commonly used variables affecting the build
    560 - :envvar:`MAKE` - one common setting for this variable when building
    561   Sage is ``export MAKE='make -jNUM'`` to tell the "make" program to
    562   run NUM jobs in parallel when building individual packages.  (Not
    563   all packages support this, but the ones for which this could be
    564   problematic should automatically disable it.)
     564- :envvar:`MAKE` - one useful setting for this variable when building
     565  Sage is ``MAKE='make -jNUM'`` to tell the "make" program to
     566  run NUM jobs in parallel when building.  Some people advise using
     567  more jobs than there are CPU cores, at least if the system is not
     568  heavily loaded and has plenty of RAM; for example, a good setting
     569  for NUM might be between 1 and 1.5 times the number of cores.  In
     570  addition, the "-l" option sets a load limit: ``MAKE='make -j4
     571  -l5.5``, for example, tells "make" to try to use four jobs, but to
     572  not start more than one job if the system load average is above 5.5.
     573  See the manual page for GNU make: `Command-line options
     574  <http://www.gnu.org/software/make/manual/make.html#Options-Summary>`_
     575  and `Parallel building
     576  <http://www.gnu.org/software/make/manual/make.html#Parallel>`_.
     578  .. warning::
     580     Some users on single-core OS X machines have reported problems
     581     when building Sage with ``MAKE='make -jNUM'`` with NUM greater
     582     than one.
     584- :envvar:`SAGE_PARALLEL_SPKG_BUILD` - if this is set to "no", then
     585  build spkgs serially rather than in parallel.  If this is "no", then
     586  each spkg may still take advantage of the setting of :envvar:`MAKE`
     587  to build using multiple jobs, but the spkgs will be built one at a
     588  time.  Alternatively, run "make build-serial" which sets this
     589  environment variable for you.
    566591- :envvar:`SAGE_CHECK` - if this is set to "yes", then during the
    567592  build process, run the test suite for each package which has one.
    569 - :envvar:`SAGE_PARALLEL_SPKG_BUILD` - set this to "yes" to build
    570   multiple packages in parallel.  This only has an effect if
    571   :envvar:`MAKE` is also set to run several jobs in parallel.
    573594- :envvar:`SAGE64` - Set this to "yes" to build a 64-bit binary on platforms
    574595  which default to 32-bit, even though they can build 64-bit binaries. 
    575596  It adds the compiler flag
    System-wide install 
    878899       chmod a+rX -R /usr/local/sage-4.7
     901Some common problems
     907Sometimes the ATLAS spkg can fail to build.  Some things to check for:
     909- Make sure that CPU throttling mode (= power-saving mode) is turned off
     910  when building ATLAS.
     912- Also, the ATLAS build can fail if the system load is too high, and in
     913  particular this has been known to happen when building with
     914  ``MAKE='make -jNUM'`` with NUM large.  If this happens, just try
     915  running "make" again.  If "make" fails after five or six attempts,
     916  report your problem to the sage-devel mailing list.
    881919Special Notes
    Special Notes 
    902940  :ref:`installation in a multiuser environment
    903941  <sagetex_installation_multiuser>`.
    905   **This page was last updated in June 2011**
     943  **This page was last updated in October 2011**