#8263: Document ALL environment variables used by Sage
-----------------------------+----------------------------------------------
   Reporter:  drkirkby       |       Owner:  drkirkby  
       Type:  defect         |      Status:  needs_work
   Priority:  major          |   Milestone:  sage-4.5  
  Component:  documentation  |    Keywords:            
     Author:                 |    Upstream:  N/A       
   Reviewer:                 |      Merged:            
Work_issues:                 |  
-----------------------------+----------------------------------------------
Changes (by drkirkby):

  * owner:  mvngu => drkirkby


Comment:

 I don't know the format of the .rst file, so there is not a lot of point
 me trying to edit it, but I can make some comments based on the the text
 of it.

  * I would say that "SAGE_PARALLEL_SPKG_BUILD" is experimental and has not
 been fully tested, so if the Sage build fails, one should unset it.
 (Robert raised an interesting question about how this may work with
 programs which do tuning.)
  * I think to say setting CC and CXX '''may''' be unreliable is an
 understatement. I can guarantee 100% it will fail to work. I'd be more
 clear about that, saying it is only for experimental purposes.
  * CFLAGS/CXXFLAGS - I'd make the point that these do not work for all
 packages, so are of limited use and setting them may cause build problems.
  * The meaning of the SAGE64 variable is not correctly described. SAGE64
 does not work on only on Solaris. The original aim of SAGE64 was to force
 a 64-bit build on '''OS X''' systems where the default was to build
 32-bit. So that is why most of the packages had the following rather
 stupid bit of code.

 {{{
 if [ $SAGE64 = yes -a `uname` = Darwin ] ;
   CFLAGS=$CFLAGS=m64
   etc etc
 fi
 }}}

 I've basically changed all those to

 {{{
 if [ "x$SAGE64" = xyes ] ;
   CFLAGS=$CFLAGS=m64
   etc etc
 fi
 }}}

 In other words, the variable is now platform independent. So I think
 something like this would be better:

 "SAGE64 - Set this variable to "yes" on any system where you wish to build
 a 64-bit version of Sage, but the default for the platform it to build
 32-bit binaries. This will add the compiler flag -m64 when building
 binaries. The SAGE64 variable is mainly of use is on OS X, Solaris and
 !OpenSolaris, though it will add the -m64 on any operating system. Some
 versions of OS X default to 64-bit binaries, in which case this does not
 need setting. (It would be nice to find out exactly what versions of OS X
 support both 32 and 64-bit binaries and so remove references to "some
 versions". But I don't know the facts on this. William will I expect)

  * SAGE_USE_OLD_GCC. I would add the fact Sage will not build with
 versions of gcc older than 4.0.1, so this is only of use if you intend
 changing the Sage source code to allow it to build with older versions of
 GCC. I think we need to stop people wasting their time thinking it might
 work, because it most certainly will not.

  * CFLAG64. I would add that it is unnecessary to set this on any
 mainstream operating system, and the only use would be if attempting to
 port Sage to a platform like AIX or HP-UX using a non-GNU compiler.

  * INCLUDE_MPFR_PATCH. There is a space missing between at this point
 "sun4v machines.If"
  * SAGE_MATPLOTLIB_GUI. There is a 't' missing from the word 'attempt'.
  * SAGE_PORT. I would add that any attempt to build Sage with a compiler
 other than GCC will need this set, and furthermore than Sage has never
 been successfully built with any compiler other than GCC. (This variable
 is sort of self-documenting, as it explains exactly what to do, so perhaps
 we don't need to spell it out too much.)
  * SAGE_TIMEOUT & SAGE_TIMEOUT_LONG are not described.
  * SAGE_CHECK. I would add that only a small subset of Sage packages
 support this, but this is being expanded. A reasonably upto date list of
 packages supporting this may be found at
 http://trac.sagemath.org/sage_trac/ticket/9281
  * Should these variables be listed alphabetically? In categories? At the
 moment, the order seems a bit random. I would think put them in
 categories, but then sort them alphabetically in there.

 Dave

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8263#comment:13>
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