On May 16, 1:50 am, "William Stein" <[EMAIL PROTECTED]> wrote:
> Hi Michael (cc: sage-devel and bcc: some sponsors),

Feel free to forward since there is no BCC in Google groups ;)

> What's the quick status on:
>
>  * OS X 64-bit porting

Cleaning up patches. One crash issue related to libSingular's memory
management code. Singular itself works in 64 bit mode on OSX 10.5, i.e. I
computed some GBases with it without problems. There are 30 new tickets in
trac and I am cleaning up patches [bsd: ~/OSX64] and will put up spkgs to be
merged into 3.0.2.alpha1 shortly.

>  * Cygwin porting

No work done, but I have a list of issues.

>  * MSVC porting

No work done - I am waiting on licenses to setup up my build box.

>  * Solaris porting

Progress on pure [i.e. no /opt/sfw] build. Starting to work on the Sun Forte
build, but one libSingular issues [very likely coercion related] remains.
Plan to investigate post 3.1. Sage 3.0.2 should build on neron with the
right setup except small issues with rpy, cvxopt. and obviously clisp. I
send you CCs on all the email I send to David and other people, so you can
read all the gory details :)

>  * Itanium porting

RHEL 5 with system compiler is 100% working. One doctest failure with gcc
4.3 due to compiler bug. Can probably be fixed by compiling extensions with
"-O2".

SLES10: clisp shits all over itself. Using clisp 2.44.2 with "-O0" fixes the
issue.

> I want to jump into something (and maybe get others to), but I don't know
> which to do.
>
> Frankly, I think that  now that Sage-3.0 is out and we basically (very
roughly)
> have the full range of features we want (modulo polish and little
> things), porting
> is by far what should be our current number one priority.  If we don't
> do it *NOW*,
> then it could potentially be vastly harder later.  If you had not been
release
> manager for the last 7 months, it *would* be vastly harder now.   And
> fortunately,
> we now have over 50% doctest coverage, which will help a lot.
>
> Now is the time to port Sage.  And it's going to take more than just you
> working on it.  I think your number one priority should be to get Sage
> to build automatically as much as possible.  But beyond that you should
> let the rest of us do a lot of work making things actually work correctly.
>
> Here is *my* personal impression of the porting situation.
>
> I think the above five platforms should be our target for
> the next year.  Anything beyond that is to worry about later (e.g.,
iphone).

That will be fun to do during a long weekend :)

> Based on who is paying us the order of priority should be:
>
> 1. Itanium
> 2. Cygwin
> 3. Solaris
> 4. MSVC
> 5. OS X 64-bit

OSX 64 bit is 99.5% done and also resulted in massive cleanups of
spkg-installs for example, so it wasn't wasted time.

> Based on difficulty and developer resources, I think the
> order from easiest to hardest is:
>
> 1. Itanium
> 2. OS X 64-bit
> 3. Cygwin
> 4. Solaris
> 5. MSVC
>
> These match up except OS X 64-bit.

Pretty much.

> For each, here's my rough understanding of the status:
>
> 1. Itanium Linux: we need to incorporate Steve Linton's patches to Gap.
> There is an issue with Singular, but maybe that is fixed.    There are
> issues making the build 100% automatic on SLES, and some possible
> ATLAS build issues.

GAP works as is with "-O0" and the current workaround. We could merge
upstream patches for GAP, but I don't see it as a high priority. I got a fix
for the ATLAS robustness issue, but 3.8.1 has better timers on Itanium and
so the issue is harder to hit [I hit it once out of 10+ builds].

SLES itself suffers from some clisp build issues, but we have a workaround
and I am hoping we will be able to dump it soon. ecls works fine on RHEL and
SLES Itanium.

> 2. OS X 64-bit.  There are a huge slew of little issues.  There are
> several people who could and would love to work on this, but you're
> currently heroically doing all the work.   It will be a lot easier to get
> help when Sage builds but goes boom on startup.  This is hard
> because OS X is a bi-arch build environment like Solaris.

Assuming you set SAGE64=yes now things nearly build automatically. There are
some small issues with gmp [we need 4.2.2 since that one only has 64 bit OSX
support - switch to MPIR will help there] and need to update and spkg or
two. Other than that all build issues are solved and I just need some
cleanup and merge the build fixes back into the release.

> 3. Cygwin: There are tons of liittle fixes and changes you
> have posted to the wiki.  When all these are applied, Sage mostly
> builds. (?)  There are some serious unresolved problems
> involving libsingular.   Otherwise this should be relatively
> smooth sailing.  (Three years ago when I ported Sage from
> Linux to OS X and Cygwin, it was *much* easier to port
> to Cygwin than OS X...  but then Cygwin itself was fundamentally
> broken by one very annoying Cygwin developer, etc., which made
> for a very painful 6 months.)

There are more issues, but none of the build issues are hard. libSingular
will be a pain to get done, but since I have malb's stand alone test code I
should be able to fix this. I also rediscovered some scripts by Gary Z. that
remap DLLs which was also a problem I had prior to the 2.5.x release. Some
long standing issues in the Cygwin port, i.e. the mysterious mwrank crashes
have turned out to be real bugs in the eclib codebase and been fixed for
months now. Since the Cygwin port is used as a stepping stone for MSVC this
certainly has high priority.

The reason no more detailed work has happened on Cygwin is that I have been
waiting on licenses to set up my new test box and I plan to do the Cygwin
build on there, too. If those licenses do not show up soon I will probably
switch to an VMWare image just for the Cygwin build for now, but I would
really like to avoid reinstalling all the build env again.

> 4. Solaris: It's almost done, but a lot of things don't work.
> Solaris support for Sage has been "nearly there" for 4 years; I know
> since I have spent a lot of time on it.  Lisp/Maxima sucks big time, but
> at least Maxima's not a binary link to Sage, so we can worry about
> that separately.

I can build Sage on Solaris with little effort. David Kirkby has been
testing the fixes I have proposed and he got to numpy when he tried with
3.0.2.alpha1, so build support is in pretty good shape. The numpy failure is
realated to ATLAS being stupid with gld on Solaris, but I will spare you the
details here since you got CCed on all that fun stuff last week. Once we get
that pesky libSingular issue fixed [I suspect coercion] we are very close to
a workable 32 bit gcc based build. Taking it to 64 bit and Sun Forte will
take some heavy lifting, but is easy compared to the MSVC port.

> 5. MSVC: Massive numbers of issues all over the place.
> Well worth the effort.  Your cup of tea (not mine).
> Lack of pexpect for windows is  a major problem.
>
> Anyway, in summary, we need to make Itanium Linux Sage absolutely 100%
> solid ASAP, and make Sage work on Cygwin as well very soon.
> OS X 64-bit will hopefully soon be more of a community effort.
> Solaris is really a "the devil is in the details" thing, and we just need
> to make it happen.
>
> Until Sage is ported to the above architectures (at least everything but
MSVC),
> we should be very very very reluctant to add any additional external
standard
> spkg's to Sage.   That's my opinion at least.

Yes. The bar is much higher and I do not see the need for anything else in
the core that isn't trivially ported. I would discourage adding code to Sage
which requires heavy lifting on my end at all costs ;).

> Now's the time in the Sage life
> cycle that we need to make damn sure Sage works on a really wide
> range of machines.  Otherwise we will start loosing potential users
> left and right.    I bet we've easily lost around 100 potential users
> in the last
> couple of days because of lack of sufficient sage ports.

I seriously doubt that number, but not having a native Windows port is
certainly a problem that needs and will be solved.

> ""I'll give Sage another try when I get a new computer (which
> hopefully isn't too far off), or when there is a native Sage for
> windows. Thank you for your time. For now, I will stick to
> straight Python."  -- From sage-support yesterday.

Oh well, life is too short to worry about that IMHO now. You win some, you
lose some. And while Sage tries to be the best tool out there it isn't the
best tool for every mathematical job. I don't really care if people do not
use Sage now on Windows because it isn't native since we have a lot of room
to grow in the non-Windows world. The MSVC port is on the way and I plan to
be done with it by the end of the year. I suspect most of the hard code
people who are likely to become power users and then developers are not on
Windows, so except from raw user number there is little to gain on that
front.

But I agree 100% with you that we need to go that route since you cannot
compete with three of the 4Ms if you aren't native *and* 64bit on Windows
because if you ignore 95% of the desktop market [the native bit, not the 64
bit :)] you will forever stay in your ghetto and I think that many people
who make deployment decisions will take a look at Sage and once they see
that there is no "real" Windows version will discard Sage as a option and
most likely turn to the commercial products. Because the vast majority of
code hasn't been ported we need to do the heavy lifting for a whole
generation of OS math people. Cygwin can be done before Dev1, so I think
that will be a nice stepping stone on the way to "World Domination" :)

> Anyway, I think you'll probably strongly agree with some of this email,
> since I think porting is the part of Sage you care about the most.   If
nothing
> else, I think I'm very much on the same page as you regarding this.

Yep, pretty much.

>  -- William

Cheers,

Michael

> --
> William Stein
> Associate Professor of Mathematics
> University of Washingtonhttp://wstein.org

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to