This is a list of platforms which Xapian has been reported to have built
and passed "make check" on.  It will probably work on many more platforms
- lack of an entry here shouldn't be assumed to mean it won't work, just that
we've not had any reports.

If you try a platform not listed here (or try a newer version on a listed
platform) we'd love to hear - please at least include the OS version (e.g.
output from "uname -a"), compiler and version (e.g. output from g++ -v), and
any switches you passed to configure.

Two notes about GCC 2.95:

* GCC 2.95 reports a lot of warnings about control reaching the end of
  non-void functions - these are bogus, and can be safely ignored.

* On many platforms, certain tests (deldoc1 notably) used to fail with
  Xapian::Error exceptions - investigation revealed that the correct exception
  was being thrown, but was leaking through the catch block somehow.  Adding
  tracing code often made the test pass!  We believe this is a GCC 2.95 bug -
  it's never been reported with GCC 3.0 or higher, nor with other compilers.
  The testsuite framework should now detect such mishandled exceptions, and
  skip the test in progress with an appropriate message.

Arch  | Platform                       |Version|Status| Notes / requirements
------+--------------------------------+-------+------+------------------------
x86   |&Linux 2.2 Debian 3.0 GCC 2.95.4| 0.9.5 |Passed|
x86   |&Linux 2.2 Debian 3.0 GCC 3.0.4 | 0.9.5 |Passed|
x86   |&Linux 2.2 Debian 3.0 GCC pre4.0|~0.9.0 |Passed| gcc-4.0-20041121
x86   |#Linux 2.4 Debian 3.0 GCC 3.4.1 | 0.9.1 |Passed| (was td140)
x86   |=Linux 2.4 Debian 3.1 GCC 3.3.5 | 0.9.5 |Passed| (td140)
x86   | Linux 2.4 Debian sid GCC 2.95.4| 0.8.3 |Passed| from Olly Betts
x86   | Linux 2.4 Debian sid GCC 3.0.4 | 0.8.0 |Passed| from Olly Betts
x86   | Linux 2.4 Debian sid GCC 3.2.3 | 0.8.0 |Passed| from Olly Betts
x86   | Linux 2.4 Debian sid GCC 3.3.5 | 0.8.3~|Passed| from Olly Betts
x86   |#Linux 2.4 Debian 2.2 GCC 2.95.2| 0.9.2 |Passed| (was x86-linux1)
x86   |*Linux 2.6 Debian 3.1 GCC 3.3.5 | 0.9.5 |Passed| (x86-linux1)
x86   | Linux 2.4 RedHat 7.3 GCC 2.96  | 0.8.0 |Passed| from Chris Good
x86   |#Linux 2.4 RedHat 9.0 GCC 3.2.2 | 0.8.3~|Passed|
x86   |#Linux 2.4 RHEL AS3 GCC 2.96    | 0.8.5 |Passed| (was td185)
x86   |#Linux 2.4 RHEL AS3 GCC 3.2.3   | 0.9.2 |Passed| (was cf-shell)
x86   |*Linux 2.6 CentOS 4.2 GCC 3.4.4 | 0.9.4 |Passed| (cf-shell)
x86   |#Linux 2.4 RHEL AS3 GCC 3.4.1   | 0.8.5 |Passed| (was td185)
x86   |#Linux 2.4 RHEL AS3 IntelC++ 8.1| 0.8.5~|Passed| (was td185)
x86   |#Linux 2.4 RHEL ES3 GCC 2.96    | 0.8.5 |Passed| (was td141)
x86   |#Linux 2.4 RHEL ES3 GCC 3.4.1   | 0.8.5 |Passed| (was td141)
x86   |#Linux 2.4 RHEL ES3 GCC 3.4.3   | 0.9.2 |Passed| (was td141)
x86   |#Linux 2.4 RHEL ES3 GCC pre4.0  | 0.9.2 |Passed| (was td141)
x86   |#Linux 2.4 RHEL ES3 IntelC++ 8.1| 0.9.2 |Passed| (was td141)
x86   |=Linux 2.6 RHEL AS4 GCC 3.2.3   | 0.9.5 |Passed| (td163,185)
x86   |=Linux 2.6 RHEL AS4 GCC 3.4.4   | 0.9.5 |Passed| (td163,185)
x86   |=Linux 2.6 RHEL AS4 GCC 4.0.1   | 0.9.5 |Passed| (td163,185)
x86   |=Linux 2.6 RHEL AS4 IntelC++ 8.1| 0.9.5 |Passed| (td163,185)
x86   |=Linux 2.6 RHEL AS4 IntelC++ 9.0| 0.9.5 |Passed| (td163,185)
x86   |#Linux 2.6 RHEL ES4 GCC 3.4.4   |~0.9.5 |Passed| (was td141)
x86   |=Linux 2.6 RHEL ES4 GCC 3.4.5   | 0.9.5 |Passed| (td141)
x86   |#Linux 2.6 RHEL ES4 GCC 4.0.1   |~0.9.5 |Passed| (was td141)
x86   |=Linux 2.6 RHEL ES4 GCC 4.0.2   | 0.9.5 |Passed| (td141)
x86   |=Linux 2.6 RHEL ES4 IntelC++ 8.1| 0.9.5 |Passed| (td141)
x86   |=Linux 2.6 RHEL ES4 IntelC++ 9.0| 0.9.5 |Passed| (td141)
x86   | Linux 2.4 Slackw. 9.1 GCC 3.2.3|~0.8.1 |Passed| from tweakers.net
x86   | Linux 2.6 Debian 3.0 GCC 2.95.4| 0.8.2 |Passed| from gmane.org
x86   |*Linux 2.6 RedHat FC2 GCC 3.3.3 | 0.9.5 |Passed| (x86-linux2)
x86   | Linux 2.6 RedHat FC4 GCC 4.0.0 | 0.9.1 |Passed| from Christiano Anderson
x86   |=Linux 2.6 RH 10.0 GCC 3.4.1    | 0.9.1 |Passed| (td188)
x86   |=Linux 2.6 RH 10.0 IntelC++ 8.1 | 0.9.1 |Passed| (td188)
x86   |=Linux 2.6 SuSE 9 GCC 3.3.3     | 0.9.5 |Passed| (td162)
x86   |#Linux 2.6 SuSE 9 GCC 3.4.1     |~0.9.0 |Passed| (was td186)
x86   |=Linux 2.6 SuSE 9 IntelC++ 8.1  | 0.9.3 |Passed| (td162)
x86   |=Linux 2.6 SuSE 9 IntelC++ 9.0  | 0.9.3 |Passed| (td162)
x86   |!FreeBSD 4.8 GCC 2.95.4         | 0.9.2 |Passed|
x86   |!FreeBSD 4.8 GCC 3.2.3          | 0.9.2 |Passed|
x86   |=FreeBSD 4.9 GCC 2.95.4         | 0.8.3~|Passed|
x86   |#FreeBSD 4.10 GCC 2.95.4        | 0.9.2 |Passed| (was x86-freebsd1)
x86   |*FreeBSD 4.11 GCC 2.95.4        | 0.9.2~|??????| (x86-freebsd1)
x86   |#FreeBSD 5.2.1 GCC 3.3.3        | 0.8.5 |Passed| (was td152)
x86   |#FreeBSD 5.3 GCC 3.4.2          | 0.9.0 |Passed| (was td152)
x86   |=FreeBSD 5.4 GCC 3.4.2          | 0.9.5 |Passed| (td152)
x86   |#NetBSD 1.6 GCC 2.95.3          | 0.8.5 |Passed| (was td143)
x86   |#NetBSD 1.6.1 GCC 2.95.3        | 0.9.0 |Passed| (was x86-netbsd1)
x86   |*NetBSD 2.0 GCC 3.3.3           | 0.9.5 |Passed| (x86-netbsd1)
x86   |#NetBSD 2.0 GCC 3.3.3           | 0.9.3 |Passed| (was td143)
x86   |=NetBSD 3.0 GCC 3.3.3           | 0.9.5 |Passed| (td143)
x86   |#OpenBSD 3.4 GCC 2.95.3         | 0.9.0 |Passed| (was x86-openbsd1)
x86   |*OpenBSD 3.8 GCC 3.3.5          | 0.9.5 |Passed| (x86-openbsd1)
x86   |*Solaris 9 GCC 3.3.2            | 0.9.5 |Passed| (x86-solaris1)
x86   |*Solaris 9 Sun Workshop C++ 5.5 | 0.9.5 |Passed| (x86-solaris1) [2]
x86   | Cygwin 1.5.10 GCC 3.3.3 XP sp2 |~0.8.4 |Passed| [4] from Mike Boone
x86   | MSYS/MingW GCC 3.3.1           |~0.8.0 |Passed| from Hartmut Honisch
x86   | MinGW 3.1.0                    |~0.8.4 |Passed| from Michael Sisolak
x86_64|#Linux 2.4 RHEL AS3 GCC 2.96    | 0.8.5 |Passed|
x86_64|#Linux 2.4 RHEL AS3 GCC 3.2.3   | 0.8.5 |Passed|
x86_64|=Linux 2.6 RHEL AS4 GCC 3.2.3   | 0.9.5 |Passed| (td189)
x86_64|=Linux 2.6 RHEL AS4 GCC 3.4.4   | 0.9.5 |Passed| (td189)
x86_64|=Linux 2.6 RHEL AS4 GCC 4.0.1   | 0.9.5 |Passed| (td189)
x86_64|#Linux 2.4 SuSE 8.1 GCC 3.2.2   | 0.8.5 |Passed|
x86_64|=Linux 2.6 SuSE 9 GCC 3.3.3     | 0.9.5 |Passed| (td179,190)
x86_64|=Linux 2.6 SuSE 9 IntelC++ 8.1  | 0.9.3 |Passed| (td179)
x86_64| Linux 2.6 Debian 3.1 GCC 3.3.5 | 0.8.3~|Passed| from gmane.org
x86_64|*Linux 2.6 RedHat FC3 GCC 3.3.4 | 0.9.4 |Passed| (amd64-linux2)
x86_64|*Linux 2.6 RedHat FC3 GCC 3.4.2 | 0.9.4 |Passed| (amd64-linux2)
x86_64|*Linux 2.6 RedHat FC3 GCC 4.0.0 | 0.9.4 |Passed| (amd64-linux2)
x86_64| Linux 2.6 Ubuntu 5.04 GCC 3.3.5| 0.9.0 |Passed| from Olly Betts
alpha |*Linux 2.2 Debian 3.0 GCC 2.95.4| 0.9.3 |Passed| (alpha-linux1)
alpha |*Linux 2.2 Debian 3.0 GCC 3.0.4 | 0.9.5 |Passed| (alpha-linux1) [6]
alpha |=Linux 2.4 Debian 3.1 GCC 3.3.5 | 0.9.5 |Passed| (td161, was td142)
alpha |=Linux 2.4 RedHat 7.2 GCC 3.4.1 | 0.9.2 |Passed| (td144)
alpha |#FreeBSD 5.2.1 GCC 3.3.3        | 0.8.5 |Passed| (was td149)
alpha |#FreeBSD 5.3 GCC 3.4.2	       | 0.9.0 |Passed| (was td149)
alpha |#FreeBSD 5.4 GCC 3.4.2	       | 0.9.2 |Passed| (was td149)
alpha |=FreeBSD 6.0 GCC 3.4.4	       | 0.9.4 |Passed| (td149)
alpha |=DEC OSF 5.1 GCC 3.3            |~0.9.0 |Passed| (td207) [8]
alpha |=DEC OSF 5.1 GCC 3.3	       | 0.9.4 |Passed| (td171) [11]
sparc |*Solaris 9 GCC 3.3.2            | 0.9.5 |Passed| (sparc-solaris1) [2]
sparc |*Solaris 9 Sun Workshop C++ 5.5 | 0.9.5 |Passed| (sparc-solaris1) [2]
ppc   |*MacOS X 10.1.4 GCC 2.95.2      | 0.9.2 |Passed| (ppc-osx1) [7]
ppc   |*MacOS X 10.2.8 GCC 2.95.2      | 0.9.1 |Passed| (ppc-osx2)
ppc   |*MacOS X 10.2.8 GCC 3.1 20020420| 0.9.2 |Passed| (ppc-osx2)
ppc   |*MacOS X 10.2.8 GCC 3.3         | 0.9.2 |Passed| (ppc-osx2)
ppc64 |*Linux 2.6 SuSE 9 GCC 3.3.3     | 0.9.5 |Passed| (openpower-linux1)
mips  | IRIX 6.5.22 GCC 3.3            |~0.8.0 |Passed| from Jim Lynch
mips  | IRIX 6.5.24 MIPSpro 7.4        | 0.8.5~|Passed| from Jim Lynch
arm   |^Linux 2.4 Debian sid GCC 3.3.3 | 0.8.0~|Passed|
arm   |@Linux 2.4 Debian sid GCC 3.4.0 | 0.8.0~|Passed|
hppa64|=Linux 2.4 Debian 3.0 GCC 3.0.4 | 0.9.0 |Passed| (td170)
hppa  |#HP-UX 11.11 GCC 3.4.1          | 0.8.5 |Passed| (was td192)
hppa  |=HP-UX 11.11 GCC 3.4.2          | 0.9.5 |Passed| (td192)
hppa  |=HP-UX 11.23 GCC 3.4.3          | 0.9.5 |Passed| (td191)
hppa  |#HP-UX 11.11 aCC B3910B A.03.57 | 0.8.5 |Passed| (was td192) [9]
hppa  |=HP-UX 11.23 aCC B3910B A.03.63 | 0.9.5 |Passed| (td191) [9]
hppa  |=HP-UX 11.11 aCC B3910B A.03.67 | 0.9.5 |Passed| (td192) [9]
ia64  |#Linux 2.4 Debian 3.0 GCC 2.96  | 0.9.1 |Passed| (was td156)
ia64  |=Linux 2.6 Debian 3.1 GCC 3.3.5 | 0.9.4 |Passed| (td156)
ia64  |#Linux 2.4 RHEL AS3 GCC 2.96    | 0.8.5 |Passed|
ia64  |+Linux 2.4 RHEL AS3 GCC 3.2.3   | 0.8.5~|Passed|
ia64  |#Linux 2.4 RHEL AS3 GCC 3.4.1   | 0.8.5 |Passed|
ia64  |+Linux 2.4 RHEL AS3 IntelC++ 8.1| 0.8.5~|Passed|
ia64  |=Linux 2.6 RHEL AS4 GCC 3.2.3   | 0.9.5 |Passed| (td177,178)
ia64  |=Linux 2.6 RHEL AS4 GCC 3.4.4   | 0.9.5 |Passed| (td177,178)
ia64  |=Linux 2.6 RHEL AS4 GCC 4.0.1   | 0.9.5 |Passed| (td177)
ia64  |#Linux 2.6 RHEL AS4 IntelC++ 8.1| 0.9.3 |Passed| (was td177)
ia64  |=Linux 2.6 RHEL AS4 IntelC++ 9.0| 0.9.5 |Passed| (td177,178)
ia64  |=Linux 2.6 SuSE 9 GCC 3.3.3     | 0.9.5 |Passed| (td187)
ia64  |=Linux 2.6 SuSE 9 GCC 3.4.1     | 0.8.5~|Passed|
ia64  |=Linux 2.6 SuSE 9 IntelC++ 8.1  | 0.9.1 |Passed| (td187)
ia64  |=Linux 2.6 SuSE 9 IntelC++ 9.0  | 0.9.4 |Passed| (td187)
ia64  |=FreeBSD 6.0 GCC 3.4.4 	       | 0.9.5 |Passed| (td150)
ia64  |#HP-UX 11.23 GCC 3.4.1          | 0.8.5 |Passed| (was td176)
ia64  |=HP-UX 11.23 GCC 3.4.3          | 0.9.3 |Passed| (td176)
ia64  |=HP-UX 11.23 aCC B3910B A.06.00 | 0.9.2 |Passed| (td196)
ia64  |=HP-UX 11.23 aCC B3910B A.06.02 | 0.9.5 |Passed| (td176)
------+--------------------------------+-------+------+------------------------
x86   |&Linux cross to mingw GCC 2.95.3| 0.9.5 |Built | [1] Using MSVCRT.DLL
x86   |*Linux cross to mingw GCC 3.4.2 | 0.9.4 |Built | [1] Using MSVCRT.DLL
x86   |*Linux cross to mingw GCC 3.4.4 | 0.9.5 |Built | [1] Using CRTDLL.DLL
x86   |*Linux cross to CYGWIN GCC 3.4.4| 0.9.5 |Built | [1]
x86   | Linux cross to DJGPP GCC 2.95.2| 0.8.0 |Built | [1] [3]
x86   |*Linux cross to DJGPP GCC 3.4.3 | 0.9.4 |Built | [1] [3]
x86   |*Linux cross to DJGPP GCC 4.0.1 | 0.9.5 |Built | [1] [3]
------+--------------------------------+-------+------+------------------------
arm   |@Linux 2.4 Debian sid GCC 2.95.4| 0.8.0 |Failed| [5]
------+--------------------------------+-------+------+------------------------

Attempts to build Xapian with Compaq's C++ compiler (on Tru64, HPUX, and
Linux) have so far failed.  Older versions of the compiler simply seem
to lack sufficient support for C++ templates.  This minimal testcase fails to
compile:

  #include <xapian/base.h>

  class Query {
    class Internal;
    Xapian::Internal::RefCntPtr<Internal> internal;
    template <class SubQ> Query(SubQ q) : internal(0) { } 
  };

This problem is fixed in Compaq C++ 7.1 (or perhaps earlier), but the build
now fails to link a binary.  Further investigation is required.

These are older success reports lacking an update for a more recent Xapian
version (typically because the machine in question was upgraded, or we no
longer have access to it, or the report was from a third party).  We've
removed reports prior to 0.7.0 since that's when the Xapian namespace was
added and some major internal changes were made, so reports for versions prior
to this are of questionable value.

Arch  | Platform                       |Version|Status| Notes / requirements
------+--------------------------------+-------+------+------------------------
x86   |#Linux 2.4 RedHat 7.2 GCC 2.96  | 0.7.3 |Passed| SF CF WebSphere box #2
x86   | Linux 2.4 RedHat 8.0 GCC 2.96  | 0.7.3 |Passed| from Chris Good
x86   |!FreeBSD 4.7 GCC 2.95.4         | 0.7.3 |Passed| [10]
x86   | Cygwin v1.5.3-1                | 0.7.3 |Passed| from Eric B. Ridge
sparc |#Linux 2.4 Debian 3.0 GCC 2.95.4| 0.7.3 |Passed| [2]
sparc |#Linux 2.4 Debian 3.0 GCC 3.0.4 | 0.7.3 |Passed| [2]
sparc |#Solaris 8 GCC 2.95.3           | 0.7.3 |Passed| [2]
------+--------------------------------+-------+------+------------------------
x86   |&Linux 2.2 Debian 3.0 GCC 3.3   | 0.7.2 |Passed|
------+--------------------------------+-------+------+------------------------
x86   | Linux 2.4 Debian sid GCC 3.3.1 | 0.7.0 |Passed| from Olly Betts
------+--------------------------------+-------+------+------------------------

* = SourceForge CompileFarm machine
= = HP Test Drive machine (http://www.testdrive.hp.com/)
# = SF CompileFarm or HP Test Drive machine which is no longer available
@ = handhelds.org (telnet/ssh ipaq[1-7].handhelds.org / user guest / no passwd)
! = thanks to Gavin Kelman for access to these platforms
& = ixion (James Aylett's colo box)
^ = thanks to Wookey for access to this platform
+ = Intel and SGI Parallel Application Center (http://www.intel.com/IDS/pac/)

~ = Tested version from CVS shortly before this release (or after for ~ suffix)

[1] "make check" won't work for a cross-compiled build!

[2] Must be compiled as a static library (./configure --disable-shared).

[3] Perhaps not a terribly useful platform for Xapian, but an additional test
of portability.  Remote backend is automatically disabled due to lack of
socketpair, and flint backend is automatically disabled due to lack of a
locking strategy implementation.  Not tried to actually run the binaries yet...

[4] Fails to build if there are spaces in the full path to the directory.

[5] internaltest fails on exception1 (SEGV) and apitest fails on queryvalid1
(SEGV).  This appears to be due to buggy handling of nested exceptions on arm
- you should use GCC 3.3 or newer.

[6] GCC 3.0.4 appears buggy on alpha - you get SEGVs unless you configure with:
./configure CXXFLAGS=-O0

[7] Lots of harmless link warnings such as:
/usr/bin/ld: warning unused multiple definitions of symbol _optarg
"link editor" definition of _optarg in section (__DATA,__common)
/usr/lib/libSystem.dylib(getopt.o) unused definition of _optarg

[8] Debug information exceeds some length limit in the native linker, so
you must configure without debug: "./configure CXXFLAGS=-O2".  Also the
generated file queryparser.cc fails to compile, but all the other tests
pass when run by hand.

[9] Must be compiled with -AA (which configure automatically passes), which
means your code must also be compiled with -AA.  Compiling with -AP (non
ANSI mode) would require changes to Xapian, and is only required if you
need to link to Xapian and another library not available in -AA form.  HP
recommend ISVs to supply libraries in -AA form, so this isn't a likely
scenario.  Where required, "xapian-config --cxxflags" will include "-AA".

[10] ./configure emits many warnings (we believe these are harmless):
mv: [FILE]: set owner/group (was: [USERNO]/[GROUPNO]): Operation not permitted
(This problem is believed fixed by a newer autoconf, which we use from
0.8.2 onwards.)

[11] Generates 18000+ (!) warnings like "ar: Warning: ignoring second
definition of <mangled C++ symbol name> defined in archive", but passes
testsuite.
