Compiling PEP

Getting the sources

You have two possibilities to get the sources of PEP. Either download the most current source tarball from SourceForge download page: https://sourceforge.net/project/showfiles.php?group_id=86405 . Or get the very recent (and probably slightly more unstable, or even not compilable...) cvs versions of the sources. Read instructions about SourceForge CVS access at http://sourceforge.net/cvs/?group_id=86405. The PEP sources are available with modulename "pep". To gain write access to the repository you have to contact the PEP project admin first. Anonymous read access is available even without a SourceForge login.

Preparing for compilation

To compile PEP you have to extract the PEP source tarball and change to the newly created directory pep/.

NOTE: Avoid to mix a binary version of PEP with the sources, so untar the sources to a different directory than any binary version (e.g. make a directory pep-src and untar sources in this directory).

The structure of the newly created directory is as follows: You have to adjust some paths in pep/src/config/Imake.tmpl:

The variable TOP has to point to the src directory. The next lines contain some more paths which you have to adjust according to your local system. Please use the compiler option format for these lines to specify Library and Include paths, i.e. use -L/path/to/libs and -I/path/to/incs if not stated otherwise.

When done you change to the main directory pep and type make. Be sure to use GNU make, as conditionals are used. The makefile will create the necessary files in pep/src and after that the libraries and binaries. Finally, all needed files are copied to pep/pep and a tar file is created from this directory. As a last step the contents of this file is compared to the correct contents found in doc/MANIFEST. You are noticed of any differences found.
If something fails due to wrong compilation tools setup, you can edit pep/Makefile, which contains some variables to change global tool settings. Also check later sections of pep/src/config/Imake.tmpl.

Further compilations after code changes can be made directly from the src directory or from subdirectories, as all dependencies are made up the first time. A make install will copy the new files to the destination. An updated tar file can be generated from the main directory without recompiling everything by make dist.

Using Cygwin as development platform

Using Cygwin instead of Linux or Unix like systems should not change that much. All development tools needed have to be accessible inside Cygwin. The CVS version of PEP always uses the latest stable versions, with one important exception. At least for me, the fileutils version 4.1-2 is not working, so I have installed version 4.1-1, which is working flawlessly. The problems had been mentioned in the Cygwin lists, but had not been fixed, yet. So if you get error messages about failed copy actions due to "the same file", install the previous version of fileutils.

The rest should work as expected and as described above.

This documentation should help for a first test of PEP compilation. Please contact the PEP developers team for more info and for discussions on the work to be done!

External Tools

PEP provides access to a variety of different model checking techniques. Many of them were not implemented by us and are thus just packaged with PEP. If you want to compile your own version you can check the following web pages.

If you have the PEP sources installed on your system you can easily download and build external tools. Support by makefiles, patches and download scripts are available in the pep/externals directory.

You have three options to choose from:
Project PEP ( pep@informatik.uni-oldenburg.de), 02.09.2005