A couple of other annoyances - some apps can't be compiled with GCC 2.xx, they need 3.xx (Octave and R for example).
In all fairness, there are versions of R that will build just fine under GCC 2.95. No, they're not the "latest and greatest", but that doesn't mean they're not
good enough. Good enough seems to be something of a paradox in the Open Source world. It's fundamental to the "release early, release often" philosophy -- you don't hold release until the app is perfect, you throw it out there once it's "good enough". Yet at the same time, a huge amount of effort is invested/wasted in keeping up with the latest kernel and toolchain even though doing so may not have any quantifiable benefits.
Is the 2.6.x kernel superior to 2.4.18?
Absolutely! Does that mean any Zaurus running 2.4.18 is hopelessly obsolete and useless? I think not. For most users 2.4.18 (with a very small handful of useful patches) is really
good enough. Case in point, the Kopsis web/email server is still running Debain "stable" with a 2.4.27 kernel. Would 2.6.8 give me better performance? Probably. Would it be worth the time/money to upgrade? Nope. Would Apache 2.x give me lots of new features? Yep. Do I
need any of them? Nope.
Now, there are plenty of cases where upgrades do make sense. My workstation, for example, always runs the latest released kernel. My point is that for special purpose machines (and for many users the Zaurus falls into that category), progress is wasted effort if what you have is
good enough.
Now for some, Sharp ROM compatibility
isn't good enough. I respect that and I aplaud the creation of OE to address those people's needs. But to expect those for whom Sharp compatibility
is good enough to sacrifice not only compatibility but also word processing, spreadsheets, syncing, video acceleration, etc. just for the sake of "progress" seems unreasonable.