Did you know? You can create stand alone exe files from SWI-Prolog codeSearch Documentation:
SWI-Prolog owl logoSWI-Prolog on Debian and Ubuntu Linux
Debian releaseWheezy(7.0)
Ubuntu release12.04, 14.04
SWI-Prolog release6.6.x, 7.1.x
Package pagehttp://packages.debian.org/swi-prolog
(Debian) MaintainerEugeniy 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.

PPA (Ubuntu Personal Package Archive)

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

Stable versions

% sudo apt-add-repository ppa:swi-prolog/stable
% sudo apt-get update
% sudo apt-get install swi-prolog

Development versions

% 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). Some remarks:

  • It is possible to use iodbc instead of unixodbc for ODBC connectivity.
  • The SWI-Prolog Java interface (JPL) works with many Java development kits, not only openjdk-7-jdk.
  • The package libarchive-dev is needed as of 6.1.4 for libarchive, which is needed by pack_install/1.
  • The package libossp-uuid-dev is needed as of 6.3.4 for library(uuid), which is needed for ClioPatria's SPARQL engine.
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 \
        openjdk-7-jdk junit

Note that older Debian based distributions, including the Debian stable (Squeeze (6.0)) ship with libunwind7-dev instead of libunwind8-dev.

Dependencies to build the documentation

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 man/README for further instructions.

sudo apt-get install \
        texlive-latex-extra \
        texlive-fonts-extra \
        texlive-fonts-extra-doc \
        texlive-fonts-recommended \