5.3. Building from source

5.3.1. Prerequisites

At the very least, you will need to download and install the xapian core package (Recoll 1.9 normally uses version 1.0.2, but any 0.9 or 1.0.x version will work too), and the qt run-time and development packages (Recoll development currently uses version 3.3.5, but any 3.3 version is probably OK).

You will most probably be able to find a binary package for qt for your system. You may have to compile Xapian but this is not difficult (if you are using FreeBSD, there is a port).

You may also need libiconv. Recoll currently uses version 1.9 (this should not be critical). On Linux systems, the iconv interface is part of libc and you should not need to do anything special.

5.3.2. Building

Recoll has been built on Linux (redhat7.3, mandriva 2005/6, Fedora Core 3/4/5/6), FreeBSD 5/6, macosx, and Solaris 8. If you build on another system, and need to modify things, I would very much welcome patches.

Depending on the qt configuration on your system, you may have to set the QTDIR and QMAKESPECS variables in your environment:

On many Linux systems, QTDIR is set by the login scripts, and QMAKESPECS is not needed because there is a default link in mkspecs/.

Configure options: --without-aspell will disable the code for phonetic matching of search terms. --with-fam or --with-inotify will enable the code for real time indexing. Inotify support is enabled by default on recent Linux systems.

Normal procedure:

        cd recoll-xxx
        configure
        make
        (practices usual hardship-repelling invocations)
     

There little auto-configuration. The configure script will mainly link one of the system-specific files in the mk directory to mk/sysconf. If your system is not known yet, it will tell you as much, and you may want to manually copy and modify one of the existing files (the new file name should be the output of uname -s).

5.3.3. Installation

Either type make install or execute recollinstall prefix, in the root of the source tree. This will copy the commands to prefix/bin and the sample configuration files, scripts and other shared data to prefix/share/recoll.

If the installation prefix given to recollinstall is different from what was specified when executing configure, you will have to set the RECOLL_DATADIR environment variable to indicate where the shared data is to be found.

You can then proceed to configuration.