I'll put some info here on what I needed to build Sage on some exotic archs. == Sage 5.13 == === Raspberry Pi running Raspbian (armv6 with hard floats) === * Surprisingly ATLAS built without problems, surely because ATLAS tries to be smart only for ARMv7. * for some libs (I'd say linbox or libmari(e)) the RAM was not large enough, I had to add some swap space. * libmarie triggers an ICE in GCC. Lowering optimization to "-O0" solves the problem. * tachyon fails to build but that's just because our install script does not even try. === ARMv7 board running Ubuntu 12.04 (armv7 with hard floats) === * ATLAS has to be tweaked to build with hard floats. Follow instructions at http://math-atlas.sourceforge.net/errata.html#armhardfp. I also had to bypass throttling detection: modify * pil did not build because of libjpeg misdetection (the lib is installed, the headers aren't, so pil thinks it can include jpeg support but then compiling fails, kind of like #7273). I modified setup.py so that it does not even try to detect libjpeg. === Sun Ultrasparc T1/2 running debian/sparc (64 bit kernel, 32 bit userland, 32 bit Sage build) === * Be sure to export ABI=32 so that MPIR and so on are not too smart and don't try to build 64 bit libs. * PARI fails to build because it tries to include asm for 64 bit sparc v9 but gcc defaults to 32 bit sparc v8. Passing CFLAGS="-m32 -O3 -Wa,-xarch=v8plus -mcpu=ultrasparc -g" solves this first issue. Then it tries to feed "-mimpure-text" to gcc which is not supported on linux anymore, modify config/get_dlld (this is fixed upstream in rev b2bc4faa4). * ecl fails after building the minimal initial version of ecl, lwowering the optimization to -O1 solves this. * tachyon fails for the same stupid reason as on the raspberry pi. * flint fails because we have to feed gcc with -mno-relax when packing shared obj. Fixed upstream at 38d45090d5e46e7237 and in 2.4. === Sun Ultrasparc T2 running Solaris 10 (64 bit kernel, 32 bit userland, 32 bit Sage build) === * Singular fails to buid because my system is oddly configured and a fix for very old versions of gcc includes some headers it should not. This is fixed upstream. * FFLAS-FFLAPACK fails to build, don't know why yet. (The new?) ATLAS needs to be linked with "-lrt" (realtime lib), see http://trac.sagemath.org/ticket/10508?cversion=1&cnum_hist=415#comment:407. === Sun Ultrasparc T1/2 running debian/sparc (64 bit kernel, 32 bit userland, 64 bit Sage build) === * Be sure to export something like CC="gcc -m64" if your gcc builds 32 bit objects by default. * PARI tries to feed "-mimpure-text" to gcc which is not supported on linux anymore, modify config/get_dlld (this is fixed upstream in rev b2bc4faa4). * tachyon fails for the same stupid reason as before. === Sun Ultrasparc T2 running Solaris 10 (64 bit kernel, 32 bit userland, 64 bit Sage build) === * Don't forget to set SAGE64=yes. * This is not used by gcc, to build gcc pass something like CC="gcc -m64" or CFLAGS="-m64", I also had to pass GCC_CONFIGURE="--target=sparc64-sun-solaris2.10 --host=sparc64-sun-solaris2.10" to build a 64 bit compiler targetting 64 bit builds. * Singular fails to buid because my system is oddly configured and a fix for very old versions of gcc includes some headers it should not. This is fixed upstream. * FFLAS-FFLAPACK fails to build, don't know why yet. (The new?) ATLAS needs to be linked with "-lrt" (realtime lib), see http://trac.sagemath.org/ticket/10508?cversion=1&cnum_hist=415#comment:407.