Gentoo Archives: gentoo-science

From: "François Bissey" <f.r.bissey@×××××××××.nz>
To: gentoo-science@l.g.o, sage-devel@××××××××××××.com
Subject: [gentoo-science] sage-on-gentoo status at version 4.4.4
Date: Tue, 29 Jun 2010 11:03:53
Message-Id: 201006292303.24759.f.r.bissey@massey.ac.nz
Hi all,

this message is cross-posted between the gentoo-science and sage-devel
mailing lists.

So this is sage-4.4.4 and we have come a long way.
sage-on-gentoo is now usable for the majority of people and can be used
to test development ideas. 
We have a page where we list our current issues:
http://github.com/cschwan/sage-on-gentoo/issues
Like femhub we have completely eliminated the spkg-install system a while 
ago.
We have started neutering sage - on gentoo upgrades are the prerogative 
of the package manager - so goodbye "sage -upgrade/-b/-ba" and so on.
We use python from the system so any python package installed by the
system is available to sage at no extra cost.

Most tests pass. Out of the tests that don't pass the vast majority of failure
are "cosmetic" example:
sage -t -force_lib "devel/sage/doc/en/constructions/plotting.rst"
**********************************************************************
File "/opt/sage/devel/sage/doc/en/constructions/plotting.rst", line 209:
    sage: maxima.eval('load("plotdf");')
Expected:
    '".../local/share/maxima/.../share/dynamics/plotdf.lisp"'
Got:
    '"/usr/share/maxima/5.20.1/share/dynamics/plotdf.lisp"'
**********************************************************************

Failure is expected here. I especially like this one:
sage -t -force_lib "devel/sage/sage/misc/package.py"        
**********************************************************************
File "/opt/sage/devel/sage/sage/misc/package.py", line 158:
    sage: is_package_installed('sage')
Expected:
    True
Got:
    False
**********************************************************************

Out of rest the only consistent one is issue 1:
http://github.com/cschwan/sage-on-gentoo/issues#issue/1
of which I have already talked about on sage-devel before and is
linked to a change applied in python-2.6.5, solution will have to come
from sage eventually.

The other failures reported are inconsistent and affect a few users at
random. There are 3 of these (issues 3, 5, 6).

If you look at the issue tracker there are two more issues listed: 
*failure in ecl.pyx - this is solved, it turns out that sage is allergic to 
an ecl that has been compiled with unicode support.
*we have mpfr 3 in the tree so we have experimented with it. It leads
to a very strange failure on x86 but not amd64.

A few differences with vanilla sage:
* we have moved to cvxopt-1.1.2 and adopted the sage ticket solving the 
related doctests.
* We have dropped jinja-1 and migrated entirely to jinja-2 adopting 
ticket #8316.
* mpfi-1.4 we have adopted latest upstream (and patched it for mpfr-3) without 
issues.
* We only use the one blas - namely usually atlas because linbox favors it.
* gsl-1.13 - no visible issues.
* no f2c.
There may be other differences related to packages that are linked to the 
system (freetype and so on). Apart from python there are no issues with any 
of these.

Work to do:
put everything in the right place, there a few things that still need to be 
relocated in a different place in the file system. We may make a move on
that in sage-4.5.

Outstanding issues:
-singular: we really wish sage would move to the latest upstream.
-pickles in python: this will be a problem as long as upstream doesn't pick 
it. We can deal with it but the current status is unsatisfactory.
-moin: doesn't really work right now, not sure we care.
-pexpect: version 2 is outdated, version 2.4 has trouble with graphics in the 
notebook.
-jmol: it is working but the current set up is not optimal because of the way
jmol is packaged in gentoo.
-mpir: we are currently using gmp throughout - gmp being a system package
needed by gcc we cannot use sage trick of having mpir disguised as gmp. 
Everything has to be ported to native mpir - a lot has been done in this 
direction but there is a stumbling block with mpfr which is also needed by 
gcc, so we would literally need 2 versions of mpfr installed and pick the 
right one. Not so difficult just long and boring.

Future:
-Making glpk an option as there is move to make it a standard package.
-pari-svn just to make my life difficult. This will be done shortly and we will 
try to have it as an option for 4.4.4 as William stein has posted patches to 
do this. But it will have to join singular in isolation until further notice.
-sage3d if this in sage to stay, make it an install option.
-gentoo-prefix: making sage available on other platform through gentoo-prefix, 
Christopher is looking at this on windows and I have access OS X 10.5.

If have been reading this far - thank you for your time.
Christopher may add comments on anything that I forgot.

Cheers,
Francois