Chapter 4. Installation

Table of Contents

4.1. Step #1: Unpack the source
4.2. Step #2: Configure the source
4.3. Step #3: Build and install
4.4. Step #4: PoD Environment
4.5. Step #5: PoD shared Installation

PoD supports Private and Shared installations.

A Private Installation - it is when a user installs PoD for individual use to his/her local folder. Any Private Installation can be used by other users as well. It's just a matter of file privileges.

A Shared Installation - it is when a site administrator installs PoD in some central location, so it can be shared by many users. This type of installation may be convenient for some users, since they don't need to install PoD by their own. In case of a shared Installation you need to execute one additional step, see Section 4.5, “Step #5: PoD shared Installation”. All the rest is the same as with Private Installations.

Be advised, that in both cases PoD acts identically and always provides private clusters, one for each user. In case of a shared installation, users share only binaries and configurations, but each user get's its own PoD instance and can't disturb other users. Each user can tune PoD by changing the PoD user defaults configuration in $HOME/.PoD/PoD.cfg.

4.1. Step #1: Unpack the source

Unpack PoD tarball:

tar -xzvf PoD-X.Y.Z-Source.tar.gz

Tar will created a new directory ./PoD-X.Y.Z-Source, where X.Y.Z represents a version of PoD.

4.2. Step #2: Configure the source

Change to the PoD source directory:

cd ./PoD-X.Y.Z-Source

You can adjust some configuration settings in the BuildSetup.cmake bootstrap file. The following is a list of variables:

Table 4.1. PoD configuration variables

CMAKE_INSTALL_PREFIXInstall path prefix, prepended onto install directories.(default $HOME/PoD/[PoD_Version])
CMAKE_BUILD_TYPESet cmake build type. Possible options are: None, Debug, Release, RelWithDebInfo, MinSizeRel (default Release)
BUILD_DOCUMENTATIONBuild source code documentation. Possible options are: ON/OFF (default OFF)
BUILD_TESTSBuild PoD tests. Possible options are: ON/OFF (default OFF)

Now, prepare a build directory for an out-of-source build and configure the source:

mkdir build
cd build
cmake -C ../BuildSetup.cmake ..


If for some reason, for example a missing dependency, configuration failed. After you get the issue fixed, right before starting the cmake command it is recommended to delete everything in the build directory recursively. This will guaranty a clean build every time the source configuration is restarted.

4.3. Step #3: Build and install

Issue the following commands to build and install PoD:

make install

[Note]Installation Prefix

Please note, that by default PoD will be installed in $HOME/PoD/X.Y.Z, where X.Y.Z is a version of PoD. However users can change this behavior by setting the install prefix path in the bootstrap script BuildSetup.cmake. Just uncomment the setting of CMAKE_INSTALL_PREFIX variable and change dummy MY_PATH_HERE to a desired path.

4.4. Step #4: PoD Environment

In order to enable PoD's environment you need to source the script. Change to your newly installed PoD directory and issue:


You need to source this script every time before using PoD in a new system shell. Simplify it by sourcing the script in your bash profile.

Now the installation is done. But if you were preparing a shared installation, then please see the Section 4.5, “Step #5: PoD shared Installation” as well.


If there were problems during the installation, please see Chapter 13, Support or Chapter 12, Known Issues.

4.5. Step #5: PoD shared Installation

If you installed PoD in some central location (by changing the default CMAKE_INSTALL_PREFIX, see Section 4.2, “Step #2: Configure the source”), than you need to make one simple additional step.

Normally central installations or shared installations are restricted for read-only for users. You therefore need to provide pre-compiled binaries for worker nodes, which are kept in $POD_LOCATION, so that other users could simple re-use them. To do that just issue the following command:

pod-server getbins

Next time (TO-DO) we will provide a documentation on how to prepare your own binaries for worker nodes.