PPL Download

You can access the Parma Polyhedra Library in source or binary formats in a number of ways.

Binary distributions

PPL binary distributions are shipped by all providers who ship binary distributions of GCC. Please let us know if you cannot find a binary distribution for your platform.

Source distributions

Before downloading, please familiarize yourself with the installation requirements and portability issues. If you plan to compile the library from sources, please take into account that the PPL follows the usual GNU-style `configure; make; make install' installation paradigm. Generic installation instructions can be found in the Free Software Foundation's INSTALL document. See the file README.configure (also contained in all distributions) for configuration information specific to the PPL. The PPL makefiles follow the GNU standard, in particular for what concerns the standard targets.

PPL source distributions can be downloaded via FTP or HTTP. The following table provides direct links to archives containing the latest release of the library.


Archive Format Download protocols
gzip tar archive ftp http
bzip2 tar archive ftp http
xz tar archive ftp http
ZIP archive ftp http

You can also clone the entire PPL source repository via Git (both read-only anonymous access and authenticated read-write access are provided), and via Anonymous rsync. Additionally you can peruse the web interface to the Git repository.

Notes for Non-Experts

Package Verification

For security, the distributed packages are fingerprinted with md5sum and digitally signed with GPG, the GNU Privacy Guard. The digital signature is by "Roberto Bagnara <bagnara@cs.unipr.it>", whose public key can be found at


You may import the key into your keyring by saving it in a file, and then issuing the command

gpg --import key-file

In our distribution areas, a file called filename.sign contains the digital signature for filename. In order to verify the signature you can issue the command

gpg --verify filename.sign filename

For those only wishing to verify that files have not been corrupted or tampered with, we also provide files called MD5SUMS containing MD5 fingerprints. The contents of these files is something like

150b6e9bc68b25923d32247031447e0d  filename1
5a46c39de027a658c15ed03a7c308e81  filename2
e82a866bb00edf31b2282747354f459c  filename3

You may check the fingerprint of, say, filename2 by issuing the command

md5sum filename2

and making sure the output is

5a46c39de027a658c15ed03a7c308e81  filename2

Alternatively, you may check the fingerprints of several files at once with the command

md5sum --check MD5SUMS

possibly ignoring the errors concerning the files you did not download. For example, if you downloaded filename1 and filename2 but not filename3, everything is fine if your output is something like

filename1: OK
filename2: OK
md5sum: filename3: No such file or directory
filename3: FAILED open or read
md5sum: WARNING: 1 of 3 listed files could not be read

Contrast this with the situation where filename3 exists but is corrupted. Expect your output to look like

filename1: OK
filename2: OK
filename3: FAILED
md5sum: WARNING: 1 of 3 computed checksums did NOT match

Handling .bz2 Files

The .bz2 extension belongs to the bzip2 compression utility (the successor of good old gzip). You may unpack file.tar.bz2 directly using the commands

tar xjf file.tar.bz2

(new versions of tar), or

tar xIf file.tar.bz2

(older versions of tar), or

bzip2 -c file.tar.bz2 | tar xf -

(all versions of tar).

We are a passionate team of experts. Do not hesitate to let us have your feedback:
You may be surprised to discover just how much your suggestions matter to us.