I hope they work on cross-compilation
FLOSS stuff will compile on damn near anything - once you have a working binutils, working GCC back end, GLIBC port, and working Linux kernel you can *compile* damn near anything.
But try cross-compiling - building for ARM on your nice fast i7 rather than on your slow OMAP - and you will find that many packages don't cross-compile worth a crap. Autoconf encourages people to assume that if they want to know how big a $foo is on the target, just build a test program to find out: which works if and only if the machine building the code is the same architecture is the same as the target.
And building a cross-compiling GCC/GLIBC? Douglas Adams preserve us - getting the Babel Fish is trivial compared to getting a successful cross compiler built. The GCC guys point fingers a GLIBC, and the GLIBC guys point fingers at the GCC guys, and each says "well, we don't do a lot of bootstrap compiles, let alone bootstrap cross compiles."
I can only hope that Canonical (and better still, Debian) start cracking some heads and making cross-compilation simpler. I don't want to have to build Apache on an ARM, just *run* it on an ARM. Make EVERY package be nothing more than "./configure --with-sysroot=foo --arch=arm", PLEASE!