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
mipselLinux 2.6 Debian sid GCC 4.6.1 1.2.7 Passed  buildd
powerpcLinux 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 opencsw1.2.3 needs patches for  core,  omega; xapian-core needs: gmake LIBS=-lm
x86Linux 2.6 Debian sid GCC 4.6.1 1.2.7 Passed  buildd
x86Linux 2.6 Ubuntu 8.04 (hardy) GCC 4.2.3 1.2.2 Passed  ppa
x86Linux 2.6 Ubuntu 9.04 (jaunty) GCC 4.3.3 1.2.2 Passed  ppa
x86Linux 2.6 Ubuntu 9.10 (karmic) GCC 4.4.1 1.2.2 Passed  ppa
x86Linux 2.6 Ubuntu 10.04 (lucid) GCC 4.4.3 1.2.7 Passed  ppa
x86Linux 2.6 Ubuntu 10.10 (maverick)GCC 4.4.51.2.7 Passed  ppa
x86Linux 2.6 Ubuntu 11.04 (natty) GCC 4.5.2 1.2.7 Passed  ppa
x86Linux 2.6 Ubuntu 11.10 (oneiric)GCC 4.6.1 1.2.7 Passed  ppa
x86kFreeBSD 8.1 Debian GCC 4.6.1 1.2.7 Passed  buildd
x86_64Linux 2.6 Debian 6.0 (squeeze) GCC 4.4.5 1.2.4 Passed  email Non-default packages required: g++, g++-4.4, libpcre3-dev, uuid-dev, uuid-runtime, zlib1g-dev
x86_64Linux 2.6 Debian 5.0 GCC 4.3.2 1.2.7 Passed (atreus)
x86_64Linux 2.6 Debian sid GCC 4.6.1 1.2.7 Passed  buildd
x86_64Linux 2.6 Ubuntu 8.04 (hardy) GCC 4.2.3 1.2.2 Passed  ppa
x86_64Linux 2.6 Ubuntu 9.04 (jaunty) GCC 4.3.3 1.2.2 Passed  ppa
x86_64Linux 2.6 Ubuntu 9.10 (karmic) GCC 4.4.1 1.2.2 Passed  ppa
x86_64Linux 2.6 Ubuntu 10.04 (lucid) GCC 4.4.3 1.2.7 Passed  ppa
x86_64Linux 2.6 Ubuntu 10.10 (maverick)GCC 4.4.51.2.7Passed  ppa
x86_64Linux 2.6 Ubuntu 11.04 (natty) GCC 4.5.2 1.2.7Passed  ppa
x86_64Linux 2.6 Ubuntu 11.10 (oneiric)GCC 4.6.1 1.2.7Passed  ppa
x86_64kFreeBSD 8.1 Debian GCC 4.6.1 1.2.7 Passed  buildd
x86_64Mac 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_64Linux 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_64Linux 2.6 Ubuntu 6.06 GCC 4.0.3 1.0.17 Passed  ppa
x86_64Linux 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)