|Did you know ...||Search Documentation:|
|Prerequisites for Debian based systems (Ubuntu, Mint, ...)|
Use the following commands to obtain all dependencies for a full build
from source. Note that there are no known version dependencies on any of
these packages. If your (debian-based) distribution is lacking any of
these package use
apt-cache search <name> to find an alternative,
where <name> is e.g.,
libunwind (i.e., remove version and details).
ninja-buildmay be dropped, building using
unixodbcfor ODBC connectivity.
libarchive-devis needed for library(archive), which is needed by pack_install/1.
libossp-uuid-devis needed for library(uuid).
libdb-devis needed for library(bdb), the BerkeleyDB embedded database interface.
libedit-devboth provide command line editing for interactive usage. None is strictly needed and one of them suffices.
libedit-devis the preferred command line editor.
libgoogle-perftools-devprovides tcmalloc, which can reduce memory usage a lot on some heavily multithreaded applications.
libunwindonly simplifies debugging in case of a system crash.
cmakemust be at least version 3.5 See CMAKE.md
sudo apt-get install \ build-essential cmake ninja-build pkg-config \ ncurses-dev libreadline-dev libedit-dev \ libgoogle-perftools-dev \ libunwind-dev \ libgmp-dev \ libssl-dev \ unixodbc-dev \ zlib1g-dev libarchive-dev \ libossp-uuid-dev \ libxext-dev libice-dev libjpeg-dev libxinerama-dev libxft-dev \ libxpm-dev libxt-dev \ libdb-dev \ libpcre3-dev \ libyaml-dev \ default-jdk junit
Note that older Debian based distributions, including the Debian
stable (Squeeze (6.0)) ship with
libunwind7-dev instead of
Raspbian does not have
libunwind. Just leave it out.
All other packages are available. SWI-Prolog versions 7.3.x require
gcc 4.8 or later, provided by Raspbian GNU/Linux 8.0 (jessie). Total
build time on a Raspberry pi model 2, including all packages is 22
minutes. If you want to reduce resources, the following packages are
Note that including GMP support makes the memory footprint bigger, but mostly if you have no other applications depending on GMP. All the other optional components are only loaded if you actually use them.
swipl-win executable provides a Qt based console for SWI-Prolog by
Carlo Capelli. This console is used to provide the MacOS app, but can
also be used on Linux. To include it, install the Qt development
sudo apt install qt5-default
The HTML documentation is built as part of the default build procedure and only depends on Prolog itself and some of its packages. The dependencies below are needed to build the PDF documentation. Configuring the build to include the PDF docs requires
cmake -DBUILD_PDF_DOCUMENTATION=ON ...
sudo apt-get install \ texlive-latex-extra \ texlive-font-utils \ texlive-fonts-extra \ texlive-fonts-extra-doc \ texlive-fonts-recommended \ texlive-fonts-recommended-doc
Now that after you have installed dependencies, return to Build SWI-Prolog from source to complete installation.