The following prerequisites are described in broad terms and Debian package names. The dependencies should be available as packages on most common Unix derivatives, and it should be quite uncommon that you would have to build one of them. Finding the right package name for other systems is left to the sagacity of the reader.
Up to version 1.37, the Recoll build process used the GNU
autotools.
Versions 1.38 and later use meson/ninja instead. In the
following, most configuration options are still defined in terms of
autotools --enable-xxx
, --disable-xxx
. These can be
translated to -Dxxx=true -Dxxx=false options for meson setup
If you do not need the GUI, you can avoid all GUI dependencies by disabling its
build. (See the configure section further
down: --disable-qtgui
).
The shopping list follows:
If you start from git code, you will need the git command (
git
), and the autoconf, automake and libtool triad (autoconf
,automake
,libtool
). These are not needed for building from tar distributions.The pkg-config command and gettext package are needed for configuring the build (
pkg-config
,gettext
).The make command (
make
which will actually install GNU make on Linux). If you get strange error messages about dependency tracking from configure, you probably forgot to install make.A C++ compiler with at least C++17 compatibility (
g++
orclang
). Versions 1.33.4 and older only require c++11.The bison command is not generally needed, but might be if some file modification times are not right.
If you want to process CHM files, you will need libchm (
libchm-dev
), else you can set the--disable-python-chm
option to the configure command.For building the documentation: the xsltproc command, and the Docbook XML and style sheet files. You can avoid this dependency by disabling documentation building with the
--disable-userdoc
configure option.Development files for Xapian core (
libxapian-dev
).Important
If you are building Xapian for an older CPU (before Pentium 4 or Athlon 64), you need to add the
--disable-sse
flag to the configure command. Else all Xapian applications will crash with anillegal instruction
error.Development files for libxslt (
libxslt1-dev
).Development files for zlib (
zlib1g-dev
).Development files for libaspell (
libaspell-dev
). Can be avoided with the--disable-aspell
option to configure.If you want to build the GUI: development files for Qt 5. Else give the
--disable-qtgui
option to the configure command. You will probably needqtbase5-dev
andqttools5-dev-tools
I can never remember what other packages to install, but installing the Qt5 Webkit, (or Qt5 Webengine if you set--enable-webengine
) will usually bring them as dependencies (libqt5webkit5-dev
orqtwebengine5dev
). The Recoll GUI can use either Webkit or Webengine for displaying the results.Development files for Python3 (
python3-all-dev
,python3-setuptools
). You can use the--disable-python-module
option for disabling the build of the Python extension. On older systems still supporting Python2, you can also installpython2-dev
andpython-setuptools
. The build will test for the presence of the python2 and/or python3 commands and behave accordingly.You may also need libiconv. On Linux systems, the iconv interface is part of libc and you should not need to do anything special.
Check the Recoll download page for up to date version information.