This page explains how to install PID. To be short, to use PID on your workstation you need to install a PID workspace somewhere on your filesystem. All commands will be explained in the context of a workstation with any Debian like Linux system (e.g. Ubuntu). We recommand using terminator terminal, or terminals with same splitting properties to facilitate the usage of PID in console mode. We also consider the usage of a gitlab server to manage repositories on server side but same process can be achieved with any tool supporting same functionnalities, for instance GitHub (

Step 1 : installing dependencies on your workstation

There are few required dependencies for using PID:

  • CMake version 3.0.2 or more. Depending on your system this can be more or less fastidious. On Ubuntu 14.04 and more you can do:
sudo apt-get install cmake

Otherwise you can install cmake by hand. Go to CMake project download page and follows the instructions. Once unpacked you should simply have to register the binaries of CMake in the PATH of the system. Basically you should do something like that to register the project:

export PATH=/home/<name>/soft/cmake-3.2.3-Linux-x86_64/bin:$PATH

Don’t forget to put this command at the end of your .bashrc file so that you won’t have to do the same at each boot !

  • git, compatible with version 1.7.9 or more. On any debian like OS:
sudo apt install git
  • c/c++ build chain, should be natively available on linux and MACOSX. If you want to install a more recent version you can do, on debian like OS:
sudo apt install gcc-5

NB: you can use a newer version of gcc or even another compiler (e.g. clang is a good alternative).

  • {optional but recommended} doxygen, compatible with version 1.7.6 or more.
sudo apt install doxygen
  • {optional} lcov, compatible with version 1.12 or more.
sudo apt install lcov
  • {optional} cppcheck, compatible with version 1.72 or more.
sudo apt install cppcheck
  • {optional} latex, compatible with version 3.1415926-1.40.10 or more. Be warning that the debian package texlive-full will take a lot of space on you hard drives !
sudo apt install texlive-full
  • {optional, mandatory only if you want to manage frameworks and static sites} git LFS, compatible with version 1.0.1 and up.

Depending on your git version LFS may be already installed, otherwise you can install it by hand. Please visit git LFS project and install last version of git LFS using your preferred method.

On debian like system one of the simplest way for installing git LFS is to do:

curl -s | sudo bash
sudo apt install git-lfs
git lfs install
  • {optional, mandatory only if you want to manage frameworks and static sites} jekyll, compatible with version 3.0.1 and up.

On debian like system one of the simplest way for installing jekyll is to do:

sudo apt install jekyll

Step 2 : Working with a private workspace

To avoid big troubles and keep PID consistent, you will not be allowed to work directly with the official workspace of PID ( More precisely you will not have rights to push into the workspace repository so you will not be able to propose updates. So you must use a private workspace. This can be achieved in two ways in the gitlab server:

  • fork the official repository to create a new private workspace. You will be the owner of that workspace, and will be so allowed to invite people and determine their access rights. To fork a workspace, simply go to the official workspace site and push the fork button. As a result you have now a new gitlab project with same name (pid-workspace), but under your own account (or a group account you have rights to write in). If you are not registered in LIRMM’s gitlab server, you can also use other online services where official pid-workspace has been deployed, like github.

  • join another private workspace. This is possible if the owner of the private workspace has registered you as a user.

You are now capable of using the private workspace, we suppose this workspace is named In real life own will be replace by the name of the account owning the private workspace (your personnal account or a group account).

Step 3 : Installing the private workspace

  • Now in order to be able to work on your local workstation you must first clone the private workspace. Choose a folder where to install pid workspace (we call it <path>) and clone it:
cd <path>
git clone
  • Then you must configure it:
cd pid-worskspace/pid
cmake ..

The standard output prints general information about the workspace. Something like:

[PID] INFO: The development environment is based on the host default configuration with LLVM Clang toolchain
[PID] INFO : Target platform in use is x86_64_linux_abi11:
 + processor family= x86
 + binary architecture= 64
 + operating system=linux (ubuntu)
 + compiler ABI= CXX11

The important information is the target platform, in this example x86_64_linux_abi11. The target platform is the platform for which the code is built. A workspace may support the build for different platforms and can also deal with cross-compilation, but this is an advanced technique. For now only remember that there is a target platform that is, by default, automatically configured according to your workstation settings (processor, operating system and compiler).

The PID workspace is now installed on your system and ready to be used !

You can now start learning how to use PID with this tutorial