#10138: Doctest failure in trace.py with 64-bit OS X build
-----------------------+----------------------------------------------------
Reporter: mpatel | Owner: mvngu
Type: defect | Status: new
Priority: major | Milestone: sage-4.6
Component: doctest | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
-----------------------+----------------------------------------------------
Comment(by drkirkby):
I've many times tried building Sage 64-bit on Solaris or !OpenSolaris and
then set {{{SAGE64=yes}}}. I've often seen the message:
{{{
Creating SAGE_LOCAL/lib/sage-64.txt since it does not exist
}}}
when the file should have existed. There's no reason that file should ever
be (re)created more than once, so something must be unnecessarily creating
that file. (Either that, or something is unnecessarily deleting it, so it
needs to be recreated, which seems a less likely cause).
The idea of that file is apparently to stop someone building a 64-bit
version of Sage, then upgrading it a later date, but this time with SAGE64
unset, which would result in a mix of 32-bit and 64-bit objects. I can see
that is sensible - for someone who has builds with SAGE64 set and builds
with it unset, it is easy to get in a mess and get a mix of 32-bit ans
64-bit objects.
The opposite problem can also exist too. One can start a 32-bit build,
then try to upgrade, with SAGE64=yes set by accident. The file
{{{SAGE_LOCAL/lib/sage-64.txt}}} does not protect against this. One still
gets a mix of 32-bit and 64-bit objects, which causes a mess.
I believe an optimal solution would be he file
{{{SAGE_LOCAL/lib/sage-64.txt}}} should '''always''' be created, and it
have either the word "yes" or "no" in it, depending on whether SAGE64=yes
when the build started or not. Then the Sage environment should
* export SAGE64=yes if the file contains the word "yes"
* unset SAGE64 if the file contains the word "no".
Currently it appears the file does not fully protect against mixing 32-bit
and 64-bit objects, and for reasons unknown is being created more than
once.
I think since bsd.math creates 64-bit objects by default, you will not
actually see the mix of 32-bit and 64-bit objects that can happen on
Solaris. But for any Solaris system, and any OS X system where the default
it to build 32-bit objects, the protection system that this file is
supposed to address is not addressed very well.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10138#comment:2>
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.