#11107: bzip2 only considers the SAGE64 environment variable on Solaris and OS 
X.
-----------------------------+----------------------------------------------
   Reporter:  drkirkby       |       Owner:  GeorgSWeber    
       Type:  defect         |      Status:  positive_review
   Priority:  major          |   Milestone:  sage-4.7       
  Component:  build          |    Keywords:                 
     Author:  David Kirkby   |    Upstream:  N/A            
   Reviewer:  John Palmieri  |      Merged:                 
Work_issues:                 |  
-----------------------------+----------------------------------------------
Changes (by newvalueoldvalue):

  * status:  needs_review => positive_review
  * reviewer:  => John Palmieri
  * author:  => David Kirkby


Old description:

> I discovered this after trying to debug a Linux installation.
>
> The bzip2 package (in particular the file
> {{{$SAGE_ROOT/spkg/base/bzip2-1.0.5-install}}}) handles SAGE64 in a
> different way to the all other packages. It has:
>
> {{{
> if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
>    echo "Building 64 bit OSX release"
>    CFLAGS="-O2 -g -m64 " && export CFLAGS
> fi
>
> if [ `uname` = "SunOS" -a "$SAGE64" = "yes" ]; then
>    echo "Building 64 bit Solaris release"
>    CFLAGS="-O2 -g -m64 " && export CFLAGS
> fi
> }}}
>
> Faster, more flexible and more portable would be:
>
> {{{
> if [ "x$CFLAG64" = x ] ; then
>    CFLAG64=-m64
> fi
>
> if [ "x$SAGE64" = xyes ]; then
>    echo "Building a 64 bit version of bzip2"
>    CFLAGS="-O2 -g $CFLAG64 $CFLAGS"
>    export CFLAGS
> fi
> }}}
>
> This would
>  * Be consistent with all other packages.
>  * Work on any platform, which might be useful on some like AIX
>  * Could help debug some Linux issues if Linux is building 32-bit. (I
> found this useful to help someone on sage-support)
>  * Avoids two calls to {{{uname}}}
>  * Allows any flag to be used for building 64-bit executable, not just
> the one use by Sun/Oracle compilers and GCC. Commercial compilers for
> both AIX and HP-UX use different flags.
>  * Would allow any flags set by the user in CFLAGS to override those
> here. However, currently setting CFLAGS globally in Sage can not be
> considered a good idea, but that's a more general bug and well outside
> the scope of this ticket.
>
> Dave

New description:

 I discovered this after trying to debug a Linux installation.

 The bzip2 package (in particular the file
 {{{$SAGE_ROOT/spkg/base/bzip2-1.0.5-install}}}) handles SAGE64 in a
 different way to the all other packages. It has:

 {{{
 if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
    echo "Building 64 bit OSX release"
    CFLAGS="-O2 -g -m64 " && export CFLAGS
 fi

 if [ `uname` = "SunOS" -a "$SAGE64" = "yes" ]; then
    echo "Building 64 bit Solaris release"
    CFLAGS="-O2 -g -m64 " && export CFLAGS
 fi
 }}}

 Faster, more flexible and more portable would be:

 {{{
 if [ "x$CFLAG64" = x ] ; then
    CFLAG64=-m64
 fi

 if [ "x$SAGE64" = xyes ]; then
    echo "Building a 64 bit version of bzip2"
    CFLAGS="-O2 -g $CFLAG64 $CFLAGS"
    export CFLAGS
 fi
 }}}

 This would
  * Be consistent with all other packages.
  * Work on any platform, which might be useful on some like AIX
  * Could help debug some Linux issues if Linux is building 32-bit. (I
 found this useful to help someone on sage-support)
  * Avoids two calls to {{{uname}}}
  * Allows any flag to be used for building 64-bit executable, not just the
 one use by Sun/Oracle compilers and GCC. Commercial compilers for both AIX
 and HP-UX use different flags.
  * Would allow any flags set by the user in CFLAGS to override those here.
 However, currently setting CFLAGS globally in Sage can not be considered a
 good idea, but that's a more general bug and well outside the scope of
 this ticket.

 Dave

 -------

 Apply [attachment:11107-bzip2-to-handle-SAGE64-better.patch] to the
 spkg/base repo.

--

Comment:

 The patch looks good to me.

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