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. Please feel free to add new entries and update existing ones (please note if you didn't build and run "make check" on all components).
The executive summary is that, provided you have a compiler with decent ISO C++ support, Xapian should work on modern Unix or Unix-like platforms, Microsoft Windows, and OS/2.
In particular, 64 bit platforms are well supported (we do a lot of development work on x86-64 Linux), as are both big and little endian platforms.
However we don't regularly test on all possible platform and compiler combinations, so regressions in support are possible. If you hit a problem, please open a ticket with details.
The one attempt to build on AIX so far failed.
Compilers
The only tested compiler we've failed to build with so far is Compaq C++ (on Tru64, HPUX, and Linux). Older versions of the compiler simply seem to lack sufficient support for C++ templates and this 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 compiles with Compaq C++ 7.1, but the build now fails to link a binary.
If you're using GCC, 3.1 is the minimum supported version for Xapian 1.2 and later, but you may need a newer version to get good compiler backend support for some architectures (e.g. 3.3 on ARM).
On Microsoft Windows, you can build using Cygwin or Mingw GCC, or with MSVC.
On OS/2, EMX GCC should work.
Automated Builds
We have automated builds on all the platforms we can get access to. If you are interested in running a tinderbox client, please get in touch.
Reports
Adding Entries
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. Please also run "make check" and tell us if any tests fail.
We've removed reports prior to 1.0.0 - so much has changed since then that they no longer provide useful information.
1.2.x
| Arch | Platform | Compiler | Version | Status | Source | Notes / requirements |
| alpha | Linux 2.6 Debian sid | GCC 4.4.5 | 1.2.4 | Passed | buildd | |
| armel | Linux 2.6 Debian sid | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| hppa | Linux 2.6 Debian sid | GCC 4.4.5 | 1.2.4 | Passed | buildd | |
| ia64 | Linux 2.6 Debian sid | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| mips | Linux 2.6 Debian sid | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| mipsel | Linux 2.6 Debian sid | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| powerpc | Linux 2.6 Debian sid | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| s390 | Linux 2.6 Debian sid | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| sparc | Linux 2.6 Debian sid | GCC 4.4.4 | 1.2.4 | Passed | buildd | |
| sparc | Solaris 10 | Sun C++ 5.9 | 1.2.3 | Passed | opencsw | 1.2.3 needs patches for core, omega; xapian-core needs: gmake LIBS=-lm |
| x86 | Linux 2.6 Debian sid | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| x86 | Linux 2.6 Ubuntu 8.04 (hardy) | GCC 4.2.3 | 1.2.2 | Passed | ppa | |
| x86 | Linux 2.6 Ubuntu 9.04 (jaunty) | GCC 4.3.3 | 1.2.2 | Passed | ppa | |
| x86 | Linux 2.6 Ubuntu 9.10 (karmic) | GCC 4.4.1 | 1.2.2 | Passed | ppa | |
| x86 | Linux 2.6 Ubuntu 10.04 (lucid) | GCC 4.4.3 | 1.2.7 | Passed | ppa | |
| x86 | Linux 2.6 Ubuntu 10.10 (maverick) | GCC 4.4.5 | 1.2.7 | Passed | ppa | |
| x86 | Linux 2.6 Ubuntu 11.04 (natty) | GCC 4.5.2 | 1.2.7 | Passed | ppa | |
| x86 | Linux 2.6 Ubuntu 11.10 (oneiric) | GCC 4.6.1 | 1.2.7 | Passed | ppa | |
| x86 | kFreeBSD 8.1 Debian | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| x86_64 | Linux 2.6 Debian 6.0 (squeeze) | GCC 4.4.5 | 1.2.4 | Passed | Non-default packages required: g++, g++-4.4, libpcre3-dev, uuid-dev, uuid-runtime, zlib1g-dev | |
| x86_64 | Linux 2.6 Debian 5.0 | GCC 4.3.2 | 1.2.7 | Passed | (atreus) | |
| x86_64 | Linux 2.6 Debian sid | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| x86_64 | Linux 2.6 Ubuntu 8.04 (hardy) | GCC 4.2.3 | 1.2.2 | Passed | ppa | |
| x86_64 | Linux 2.6 Ubuntu 9.04 (jaunty) | GCC 4.3.3 | 1.2.2 | Passed | ppa | |
| x86_64 | Linux 2.6 Ubuntu 9.10 (karmic) | GCC 4.4.1 | 1.2.2 | Passed | ppa | |
| x86_64 | Linux 2.6 Ubuntu 10.04 (lucid) | GCC 4.4.3 | 1.2.7 | Passed | ppa | |
| x86_64 | Linux 2.6 Ubuntu 10.10 (maverick) | GCC 4.4.5 | 1.2.7 | Passed | ppa | |
| x86_64 | Linux 2.6 Ubuntu 11.04 (natty) | GCC 4.5.2 | 1.2.7 | Passed | ppa | |
| x86_64 | Linux 2.6 Ubuntu 11.10 (oneiric) | GCC 4.6.1 | 1.2.7 | Passed | ppa | |
| x86_64 | kFreeBSD 8.1 Debian | GCC 4.6.1 | 1.2.7 | Passed | buildd | |
| x86_64 | Mac OS X 10.6 | GCC 4.2.1 | 1.2.5 | Passed |
1.0.x
These are older 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).
| Arch | Platform | Compiler | Version | Status | Source | Notes / requirements |
| arm | Linux cross to arm | GCC 2.95.2 | 1.0.1 | Built | (atreus) | Cross-compiled so no "make check" |
| ia64 | #Linux 2.6 RHELServer5 | GCC 4.1.1 | 1.0.4 | Passed | (td178,188) | |
| ia64 | %Linux 2.6 SuSE 10 | GCC 3.3.3 | 1.0.5 | Passed | (polly.sgi.com) | |
| ia64 | #Linux 2.6 SuSE 10 | GCC 4.1.0 | 1.0.4 | Passed | (td187) | |
| ia64 | %Linux 2.6 SuSE 10 | GCC 4.1.2 | 1.0.5 | Passed | (penguin.sgi.com) | |
| ia64 | #FreeBSD 6.2 | GCC 3.4.6 | 1.0.3 | Passed | (td150) | |
| sparc | Solaris 9 | GCC 3.3 | 1.0.5 | Passed | James Aylett | |
| sparc | Solaris 9 | GCC 3.3 (-m64) | 1.0.5 | Passed | James Aylett | |
| sparc | Solaris 10 | GCC 3.4.3 | 1.0.5 | Passed | James Aylett | |
| sparc | Solaris 10 | GCC 3.4.3 (-m64) | 1.0.5 | Passed | James Aylett | |
| x86 | #Linux 2.6 RHELServer5 | GCC 4.1.1 | 1.0.4 | Passed | (td185) | |
| x86 | #Linux 2.6 SuSE 10 | GCC 4.1.0 | 1.0.4 | Passed | (td186) | |
| x86 | #Linux 2.6 SuSE 10 | IntelC++ 9.1 | 1.0.1 | Passed | (td186) | |
| x86 | Linux 2.6 Ubuntu 6.06 | GCC 4.0.3 | 1.0.17 | Passed | ppa | |
| x86 | Linux 2.6 Ubuntu 8.10 | GCC 4.3.2 | 1.0.17 | Passed | ppa | |
| x86 | #FreeBSD 6.2 | GCC 3.4.6 | 1.0.4 | Passed | (td152) | |
| x86 | Hurd 0.3 Debian sid | GCC 4.3.4 | 1.0.17 | Passed | Debian buildd | |
| x86 | Linux cross to mingw (using MSVCRT.DLL) | GCC 3.4.5 | 1.0.5 | Built | Cross-compiled so no "make check" | |
| x86_64 | Linux 2.6 Debian 4.0 | GCC 4.1.2 | 1.0.11 | Passed | (atreus) | |
| x86_64 | #Linux 2.6 RHEL AS4 | GCC 3.2.3 | 1.0.0 | Passed | (was td189) | |
| x86_64 | #Linux 2.6 RHEL AS4 | GCC 3.4.6 | 1.0.1 | Passed | (td189) | |
| x86_64 | #Linux 2.6 RHEL AS4 | GCC 4.1.0 | 1.0.1 | Passed | (td189) | |
| x86_64 | #Linux 2.6 RHELServer5 | GCC 4.1.1 | 1.0.4 | Passed | (td159,163,165) | |
| x86_64 | #Linux 2.6 SuSE 10 | GCC 4.1.0 | 1.0.4 | Passed | (td162,166,179) | |
| x86_64 | %Linux 2.6 SuSE 10 | GCC 4.1.2 | 1.0.5 | Passed | (iceland.sgi.com) | |
| x86_64 | #Linux 2.6 SuSE 10 | IntelC++ 9.1 | 1.0.4 | Passed | (td162) | |
| x86_64 | Linux 2.6 Ubuntu 6.06 | GCC 4.0.3 | 1.0.17 | Passed | ppa | |
| x86_64 | Linux 2.6 Ubuntu 8.10 | GCC 4.3.2 | 1.0.17 | Passed | ppa |
Key
% = SGI developer machine # = HP Test Drive machine (no longer available)
