Keeping The Build Directory in EasyBuild and Paraview Plugins

By default, EasyBuild will delete the build directory of an successful installation and will save failures of attempted installs for diagnostic purposes. In some cases however, one may want to save the build directory. This can be useful, for example, for diagnosis of *successful* builds. Another example is the installation of plugins for applications such as Paraview, which *require* access to the the successful buildir. Quite clearly developing an EasyBlock for Paraview extensions would be more optimal, but for the time being, this provides an illustration of how to keep a build directory.

The standard override option in configuration would be:

eb Paraview-4.4.0-intel-2016.u3.eb --cleanup-builddir

However, this is set to TRUE by default, and if one attempts to provide an option (e.g., eb easyrecipe.eb --cleanup-builddir=FALSE), a terse response will inform the sysadmin that it doesn't take options (eb: error: --cleanup-builddir option does not take a value. Instead a separate command is required. Whilst hardly an example of good design, the following will work:

eb Paraview-4.4.0-intel-2016.u3.eb --disable-cleanup-builddir

Once installed, changed directory to the installed version of the programme, create a plugins directory, copy the specific plugin, make the appropriate modifications to the CMakeLists.txt (in this case, adding the source path in the build directory) and cmake and make e.g.,


cd /usr/local/easybuild/software/Paraview/4.4.0-intel-2016.u3/
mkdir plugins
cd plugins
cp -r /tmp/SerafinReader .
cd SerafinReader
vim CMakeLists.txt (add `easybuild$/build/Paraview/4.4.0/intel-2016.u3/easybuild_obj`)
cmake .;make
...
[100%] Linking CXX shared library libSerafinReader.so
[100%] Built target SerafinReader