On 3/16/07, Mark <[EMAIL PROTECTED]> wrote:
> I've wanted to make a "minimal sage" for some time.  I finally got
> motivated to do some work on it. Don't ask what I _should_ have been
> doing.
> I'm working with gentoo linux ... it has nice package management and
> many of the things I needed were included already.  I'll make as many
> comments as I can to help other reconstruct what I did.
>
> Essentially, I did these steps:
>
> 1) Extracted sage-2.3 from the overall sage distribution.
>
> tar xf sage-2.3      # the top level distro
> cd sage-2.3/spkg/standard
> tar xf sage-2.3      # the specific sage code
> mv sage-2.3 workdir
>
> 2) Use a different setup.py and a edit one small thing
>
> cd workdir
> # add marksetup.py to workdir
> cp other/location/marksetup.py ./
> # fix one path problem
> sed -e 's:../../../:../../:' sage/libs/cf/cf.pyxe > tmpfile
> mv tmpfile sage/libs/cf/cf.pyxe
>
> 3) Build the csage stuff by hand and make it available
> <<this library build isn't quite right>>

I'm curious  -- Is there something wrong with SAGE's csage build process?

> 4) Make sure the following programs are installed via portage
>    (gentoo's package manager):
> << you might need more ... i already had a bunch of stuff installed>>
> << you might have to unmask some of these as well (a gentoo thing)>>

I just want to emphasize concern here.  SAGE is not likely to work correctly
if you replace the components it uses by ones with different versions.  In
many cases we program around or patch issues in specific versions of
the dependent programs, and in other cases we use new features that
were recently added.   For example...

> maxima 5.9.3

In maxima, I think version 5.10, a lot of the special functions stuff was
reorganized -- there's no way SAGE will past its test suite with maxima
5.9.3.  Moreover, SAGE currently ships with maxima 5.11 and assumes
it is available.

> gsl 1.8

SAGE ships with gsl 1.9.  I don't remember if we had to change anything
going from 1.8 to 1.9 -- I think probably not, though there were some important
bug fixes in 1.9.

> ntl 5.4-r1

SAGE will work fine with that.

> singular 3.0.2.1 (i used my own ebuild, but the built in should be ok)

Probably this is fine...

> pexpect .999

SAGE uses pexpect version 2.0.  The current official version of pexpect
is version 2.1, but SAGE will not work with pexpect 2.1 at all.  I have no
idea if SAGE will work at all with pexpect .999.

> blas-atlas-3.7.24

Should be fine.

> mpfr-2.2.1_p1

Should be fine.

> numpy-1.0.1-r1

Should be fine.

> 5) use my shoddy ebuilds for these:
> << you will need to fish out singular-3.0.2-gentoo.diff for factory
>    to use the ebuild I have here>>
>
> pari 2.3.1 (simply a version bump from 2.3.0 in portage)

SAGE should not work at all with an officially released PARI.
For SAGE we do some nontrivial patching to the library, e.g,.
replacing calls to exit() with calls to abort().

> factory 3.0.2.1 (from singular)

I think Martin A might have fixed a bug in factory that needed
to be fixed in order to use it from SAGE.

> iml-1.0.1

I made some minor changes to IML for using in SAGE,
but nothing that affects the interface.  The changes were
to remove the atlas dependency.  However, Martin A. implemented
arbitrary precision p-adic system solving for the IML included
in SAGE, whereas the official release version doesn't have that.

> mpfi-1.3.4

Carl Witty said he fixed several bugs in mpfi that were uncovered
in the course of wrapping it for use in SAGE.

> mwrank-061003

The official release should be fine.

> 6) Build it:
> python marksetup.py build
>
> 7) Figure out everthing that built, but has run time errors!
> <<to be determined>>
> I haven't tested the produced code AT ALL.  It may well be complete
> junk.
> I just wanted to get what I've done up so others can (maybe) take
> advantage of it
> and/or make progress on it.
>
>
> Files (ebuilds and marksetup.py) can be found at:
> http://www.cs.pitt.edu/~fenner/work/projects/minimal-sage/minimal-sage.tgz

Just out of curiosity, how difficult would it be to create a non-minimal normal
SAGE ebuild?  This would likely actually work perfectly, and hence would
get a lot of use.  Bobby Moretti did this with a Debian package at one point,
and it was pretty impressive and would have been really useful had somebody
volunteered to maintain it.

William

--~--~---------~--~----~------------~-------~--~----~
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-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to