After many trials and tribulations, I've finished a build of Sage-5.5 for the Raspberry Pi. I'm still running the doctests; I've only seen timeouts so far, which is quite positive. I'm unsure how long the full (long) testsuite will take to run, but will post an update when it finishes. If anyone wants to play around with it, I've posted the binary here: http://garsia.math.yorku.ca/~sdenton/sage-5.5-pi.tar.bz2
The details below are reposted from my blog entry on the topic, which can be found here: http://blogs.africanmathsinitiative.net/tomd/2013/01/17/pisage/ The blog post also includes build time data for every spkg. The winner was lib4mrie, which took about 3 days of real time. The gory details: 1. This was a long, long process. The full build took 6.32 days of 'real' time (plus some extra down time a couple times when things were stopped for a few hours while I slept), but only 2.9 days of processor time. This discrepancy is discussed in point 3, below. 2. The Sage build is broken up into 'spkg' files, essentially many different components of Sage which need to be built. This modularity is actually quite helpful, since if the build is interrupted for any reason, it restarts on the last spkg it was working on instead of starting over from scratch. 3. I ran the build on an 8gb USB stick with 3gb set aside as swap. You have to set aside a large amount of swap in order for the build to succeed. The USB ports on the Pi are known to have much better throughput than the SD reader, so it's better to build on an attached drive. It would be best to use an external mechanical hard drive, both due to good write speed and because utilizing a USB key as swap space is pretty dumb and will greatly shorten the life of the drive. I didn't have easy access to an external mechanical hard drive, so used a USB key. (Actually, I do have an external drive, but the Pi doesn't supply enough power to spin it up; so an external drive should either be wall-powered or running from an attached powered USB hub.) 4. The build really uses the swap quite a bit; the 512mb of memory isn't quite enough. You can make things a bit better by running headless and not starting the X server and setting aside 0mb of memory for the video card, using raspi-config. But still the swap is heavily used. The worst instance is in building libm4rie, which took about 100 minutes of CPU time and almost three days of real time, the great majority of which was spent waiting for read/writes to the swap memory. 5. I also managed to speed things up a bit by using 'nice' to greatly increase the priority of the build. In the Sage directory, start the compilation with: sudo nice -n -20 make 6. Probably the most fiddly part technically was building the Tachyon package. (Everything else you can deal with by just waiting longer!) The 'tachyon' spkg fails to build out of the box because it doesn't recognize the 'armv6l' architecture. To fix this, you need to unpack the tachyon spkg (which lives in sage-X/spkg/standard) and edit the spkg-install file. In this file, find the sole reference to the 'armv7l' and change the 7 to a 6 and you'll be good to go. Repack the spkg, put it back in the original directory where you found it, and all will be ok. (This old Sage trac ticket <http://trac.sagemath.org/sage_trac/ticket/10820> was very helpful in figuring out the problem. And here's the Sage page on building spkgs<http://www.sagemath.org/doc/developer/producing_spkgs.html> .) -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To post to this group, send email to sage-devel@googlegroups.com. To unsubscribe from this group, send email to sage-devel+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en.