Build on Linux (and most of the way with G++, though not quite there)