The table below describes the Linux distros and SWI-Prolog versions for which the
descriptions on this page was last updated. This page is relevant for virtually
all Debian-derived distributions (those using
apt-get) and many versions of
|Ubuntu release||12.04, 14.04|
|Raspbian (Raspberry pi)||Jessie (8.0)|
|SWI-Prolog release||6.6.x, 7.2.x, 7.3.x|
|(Debian) Maintainer||Eugeniy Meshcheryakov|
Debian Squeeze and derived distributions come with a properly packaged but old (version 5.10.4) SWI-Prolog. We advice to compile the sources on older Debian derived distros or you need a fairly recent version.
There are PPAs for SWI-Prolog stable and SWI-Prolog development based on the official Debian packaging structure and corresponding SWI-Prolog release. This PPA version can be installed using the commands below in Ubuntu 12.04 and 13.04:
These PPAs are updated with every new release. Thanks to Yves Raimond for setting up the PPA snd Eugeniy Meshcheryakov for creating the Debian configuration. The PPA is registered using
apt-add-repository, which is by default available on desktops, but not on servers or Linux containers. It is installed using:
% sudo apt-get install software-properties-common
% sudo apt-add-repository ppa:swi-prolog/stable % sudo apt-get update % sudo apt-get install swi-prolog
% sudo apt-add-repository ppa:swi-prolog/devel % sudo apt-get update % sudo apt-get install swi-prolog
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).
unixodbcfor ODBC connectivity.
libarchive-devis needed as of 6.1.4 for libarchive, which is needed by pack_install/1.
libossp-uuid-devis needed as of 6.3.4 for library(uuid), which is needed for ClioPatria's SPARQL engine.
libdb-devis needed as of 7.3.8 for library(bdb), the BerkeleyDB embedded database interface.
libunwindonly simplifies debugging in case of a system crash.
sudo apt-get install \ build-essential autoconf curl chrpath pkg-config \ ncurses-dev libreadline-dev libunwind8-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 \ openjdk-7-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
build. Means you have no graphics, no graphical development tools and no regular expression support.
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.
The generated documentation is included the source archives and downloaded by the
prepare script when installing from the git source. To rebuild the documentation, the following packages are needed. Check
sudo apt-get install \ texlive-latex-extra \ texlive-fonts-extra \ texlive-fonts-extra-doc \ texlive-fonts-recommended \ texlive-fonts-recommended-doc