This page contains a general description of the prerequisites for building SWI-Prolog.
This is mainly using for building SWI-Prolog on Unix-based systems. The Unix build page contains links to OS specific pages. This page provides background and guides you through the process for other operating systems.
- gcc or clang
With some effort, other C compilers may work as well
Do not try with other implementations of
When building from GIT
Optional for documentation, see README.doc
optional for documentation, see README.doc
- Libraries (core system):
- gmp (http://gmplib.org/)
Provides unbounded integers and rational numbers. Although
the system compiles without it we strongly encourage you do
use GMP. Libraries and other software written for SWI-Prolog
may fail to work properly without GMP.
- GNU readline library
Optional, provides commandline editing and completion. You
really want this!
- libunwind (http://www.nongnu.org/libunwind)
Not available on all platforms. If it is supported, it enhances
crash reports generated by the system.
- Libraries (packages):
- unixODBC (http://www.unixodbc.org/)
Optional for building package odbc, providing database access.
- OpenSSL (www.openssl.org/)
Optional for building package ssl (Secure Socket layer)
Optional for building package zlib (compressed streams)
- OSSP UUID library (http://www.ossp.org/pkg/lib/uuid/)
Needed for library(uuid). Used by various packages.
- SUN Java SDK or OpenSDK
Optional for building JPL (Java interface). Note that auto-detection
of JPL prerequisites often fails. See DISABLE_PKGS in build.templ
- libXt, X11 core libraries, libjpeg and libxpm
Required libraries for XPCE, the SWI-Prolog graphics layer that
provides the built-in editor, graphical debugger and many other
- libXft, libfontconfig and pkg-config
Provide proper Unicode font support for XPCE. Without, XPCE may work
or not, depending on locale and installed fonts.