Hi sage-devel,

currently, there are several issues. I've got a bit spare time right
now to work on them, but can't do that alone. Help, and helpful
comments, are appreciated.

Some technicalities: Mac OS X runs on PowerPC and Intel CPUs (iPhone
OS runs also on ARM, but that does not matter for us for the time
being), and on those CPUs either in 32bit mode or/and 64bit mode. In
principle, there is the possibility of "universal" binaries, but for
the Sage distribution, we did not achieve this yet. So in terms of
Sage binary distributions, there are four possible combinations of CPU
type and bit length, and one and the same binary distribution is built
for only one of these four combinations. But fixing the combination of
CPU type and bitlength sometimes is not enough. E.g., there are Macs
with (32bit) PowerPC G5 CPUs and Macs with (32bit) PowerPC G4 CPUs,
and Sage binary distributions built on the former won't run on the
latter. We don't have much experience with Intel CoreDuo vs. Core2Duo
vs. i5 vs. i7 yet, but fun might await us there, too. Then, there is
Mac OS X 10.4, as well as 10.5, and 10.6. Still reading this post?
Good. :-) Let me try to summarize the current state of affairs for
Sage w.r.t. these combinations, especially Sage binary distributions.


A) Sage is supported under Mac OS X 10.4 only for 32bit-versions (not
64-bit), on CPU architectures PowerPC G4, PowerPC G5, and Intel.
(Note: 64-bit support under Mac OS X 10.4 is existent, but hardly
usable.).


B) Sage is supported under Mac OS X 10.5 only for 32bit-versions (not
64-bit), on CPU architectures PowerPC G5, and Intel. (Notes: OS X 10.5
does not work on all Macs with PowerPC G4 CPUs. 64-bit support under
Mac OS X 10.5 still seems not to be satisfactory enough).


C) Sage is supported under Mac OS X 10.6 only for 64bit-versions (not
32-bit) and only on Intel CPUs. (Notes: OS X 10.6 does not run on
PowerPC CPUs at all, Apple simply does not support that. 64-bit is the
default bitlength for OS X 10.6. However, on certain Macs with CoreDuo
CPUs, which seem to be "32bit only", there is at least one unresolved
recent user report of building Sage currently being broken --- it
seems the Sage 4.4 MPIR spkg won't build in this 32bit/10.6 setting.)


D) Sage binary distributions for Mac OS X are in general "upwards
compatible", but almost always not "downwards compatible". I.e. a Sage
binary distribution built on OS X 10.4 will work on OS X 10.5, one
built on a PowerPC G4 CPU will work on a PowerPC G5 CPU, a 32-bit
version will work on a 64-bit OS, but in each of these cases not the
other way around. (Note: There have been user reports in the past that
the PowerPC G4 version works on their Macs with a PowerPC G3 CPU, but
to my knowledge, that is the only case of a kind of "downwards
compatibility". AFAIK, Sage binary distributions built on a 32-bit OS
run on a 64-bit OS, but e.g. sage-clone might be broken, as well as
sage-update --- there is at least one recent user report hinting at
this, but I don't know for sure.)


E) Currently, the Sage download page for Mac OS X binaries is divided
into "intel" and "powerpc". Under "intel", there are usually two
bdists: one for "32bit-10.4-i386", and one for "64bit-10.6-i386".
Especially, for MacIntel OS X 10.5, as of late there is no regular
genuine sage bdist (but the 10.4 one can be used under OS X 10.5
without problems, AFAIK). Under "powerpc", there are usually also two
bdists: one for "32bit-10.4-PowerPC_G4", and one for "32bit-10.5-
PowerMacintosh" (the latter is a "G5 CPU" one, and probably should be
named "...PowerPC_G5" instead).


F) Information on this is scattered around in certain Readme's, and
not always complete (or even correct --- e.g. with respect to OS X
10.6 on PowerPC).


Now the calls for votes:

1.) Shall we "set in stone" the above A) through D)? (This would imply
adjusting the documentation and certain Readme's, see F.)


2.) Having done this (or even not), shall we deliver the Mac OS X
binary distributions in one and the same directory, i.e. discard the
distinction (see E above) between "intel" and "powerpc" binary
directories? (This would imply that we should add some mechanism(s) in
the Sage binaries to detect whether they "want to" run on the
architecture/CPU/bitlength/OS version/environment they are started
on.)


Cheers,
Georg

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to