10.17. PPL-0.11.2 64 Bit

The Parma Polyhedra Library (PPL) provides numerical abstractions especially targeted at applications in the field of analysis and verification of complex systems. CLooG-PPL requires this library.

10.17.1. Installation of PPL

Prepare PPL for compilation:

CPPFLAGS=-fexceptions CC="gcc -isystem /usr/include ${BUILD64}" \
CXX="g++ -isystem /usr/include ${BUILD64}" \
LDFLAGS="-Wl,-rpath-link,/usr/lib64:/lib64 ${BUILD64}" \
  ./configure --prefix=/usr --libdir=/usr/lib64 \
    --enable-shared --disable-optimization

Compile the package:



The test suite for PPL is considered critical. Do not skip it under any circumstance.

Test the results:

make check

Install the package:

make install

Prepare ppl-config to be wrapped by the multiarch wrapper and then wrap it:

mv -v /usr/bin/ppl-config{,-64}
ln -svf multiarch_wrapper /usr/bin/ppl-config

Create the 64bit header file:

mv -v /usr/include/ppl{,-64}.hh

Finally, create a stub header in the place of the originals:

cat > /usr/include/ppl.hh << "EOF"
/* ppl.hh - Stub Header  */
#ifndef __STUB__PPL_HH__
#define __STUB__PPL_HH__

#if defined(__x86_64__) || \
    defined(__sparc64__) || \
    defined(__arch64__) || \
    defined(__powerpc64__) || \
    defined (__s390x__)
# include "ppl-64.h"
# include "ppl-32.h"

#endif /* __STUB__PPL_HH__ */

10.17.2. Contents of PPL

Installed programs: ppl-config, ppl_lcdd
Installed libraries: libppl.[a,so], libppl_c.[a,so], libpwl.[a,so]
Installed directories: /usr/share/doc/ppl, /usr/share/doc/pwl

Short Descriptions


Outputs information about the PPL installation


Reads an H-representation of a polyhedron and generates a V-representation of the same polyhedron


The Parma Polyhedra Library (PPL).


The Parma Polyhedra Library bindings for C.


The Parma Watchdog Library