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/ -~----------~----~----~----~------~----~------~--~---
