## Prerequisites for building SWI-Prolog from source 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. - Tools: $ gcc or clang : With some effort, other C compilers may work as well $ GNU-make : Do not try with other implementations of `make` $ autoconf : When building from GIT $ LaTeX : Optional for documentation, see README.doc $ perl : 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) $ zlib : 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 developers tools. $ libXft, libfontconfig and pkg-config : Provide proper Unicode font support for XPCE. Without, XPCE may work or not, depending on locale and installed fonts.