Currently we (attempt to) support building Xapian with any GCC >= 2.95.
However, I only have access to Debian's GCC "2.95.4" (which is 2.95.3
plus patches) and <sstream> was added in GCC 2.95.3, so the fallback
code for when <sstream> isn't available probably hasn't actually been
exercised for a while.
I'm pretty sure the non-<sstream> build is now broken in SVN HEAD, but
ensuring it's fixed would require building a suitable old release of GCC
from source, which seems a lot of effort. Being able to rely on
<sstream> would also allow a significant amount of workaround code to be
GCC 2.95.3 was released 2001-03-16, so I think it's better to just say
that we require GCC >= 2.95.3. The early GCC3 releases weren't widely
adopted, but the Linux world at least has now moved on. If you're
unlucky enough to be forced to stay with 2.95.x for some reason, you
should at least be able to build 2.95.3 using your current compiler and
use that compatibly with other 2.95.x-built code.
So, any objections to raising the GCC requirement to >= 2.95.3?
Also, are there any other non-GCC compilers in use which lack <sstream>?
If you're using a non-GCC compiler, you can easily check by running this
command in a configured xapian-core tree:
grep SSTREAM config.h
If you get this output, all is well:
#define HAVE_SSTREAM 1
It appears MSVC, and the HP and SGI vendor compilers all have <sstream>.