====== EasyBuild tips ======
===== Installing Intel compilers with EasyBuild =====
The installation process of non-GNU compilers with EasyBuild is very poorly documented, and it took us months to find and gather the relevant information for a seamless install. Here it is.
==== Downloading the license file ====
EasyBuild will not be able to install Intel compilers without a proper license file from Intel. The first step is, by the time you register your product, that you ask for a license file. Here is how to proceed:
* https://software.intel.com/en-us/articles/how-do-i-manage-my-licenses
* https://software.intel.com/en-us/articles/resend-license-file
This may involve an email exchange with Intel and take a couple of days to be fully resolved.
Once you have the license file, make a backup somewhere safe and copy it once more to:
$HOME/licenses/intel/license.lic
We recommend you to always use a copy of the file and keep the original one for yourself only.
This step is blocking. Don't go any further until you have installed the license file as instructed. EasyBuild will keep aborting after a minute or two until you get this properly done.
==== Downloading Intel components ====
EasyBuild will only be able to install Intel components separately, which means you have to download each of them separately as well. The required components are:
* Intel C++ compiler
* Intel Fortran compiler
* Intel MPI
* Intel MKL
In addition, you have to download exactly the patch level required by EasyBuild. To discover it, just run e.g. ''eb intel-2017a.eb -r'' once and extract the correct version number from EasyBuild's output:
== FAILED: Installation ended unsuccessfully (build directory: ...: build failed (first 300 chars):
Couldn't find file **parallel_studio_xe_2017_update1_composer_edition_for_cpp.tgz** anywhere, and
downloading it didn't work either... Paths attempted (in order): ...
In our example, you have to download the components for version ''2017 Update 1''.
==== Making Intel components accessible to EasyBuild ====
The components you just downloaded are not visible to EasyBuild by default. We will suppose here that you stored them all in ''/home/user/intel/easybuild/''. What you have to do is to create symbolic links within the EasyBuild hierarchy to this directory, naming each link after the package it stands for.
If you have told EasyBuild to install packages in e.g. ''/home/user/hpc/'', you have to go to the ''/home/user/hpc/sources/i/'' subdirectory and create the links there:
cd /home/user/hpc/sources/i
ln -s /home/user/intel/easybuild icc
ln -s /home/user/intel/easybuild ifort
ln -s /home/user/intel/easybuild imkl
ln -s /home/user/intel/easybuild impi
Once done, EasyBuild will be able to use the downloaded files as source packages to install the Intel toolchain.
==== Installing the compilers ====
To install the compilers, just type:
eb intel-VERSION.eb -r
where you substitute //VERSION// with the actual version you want to install, e.g. ''2017a''.
In case of problems, you can refer to:
* https://software.intel.com/en-us/articles/intel-composer-xe-2015-silent-installation-guide
===== Troubleshooting =====
==== The license file is unusable ====
If EasyBuild keeps crashing despite having done everything to make the license file available, you can quickly hack the ''intelbase.py'' EasyBlock to force it to use a serial number. Here are the steps to follow for EasyBuild 3.4.0:
- Find out or remember the installation path of EasyBuild (we will call it ''$EASYBUILD_PREFIX''.
- Edit ''$EASYBUILD_PREFIX/lib/python2.7/site-packages/easybuild_easyblocks-3.4.0-py2.7.egg/easybuild/easyblocks/generic/intelbase.py''.
- Insert the following at line 301: silent = "ACTIVATION_TYPE=serial_number\nACTIVATION_SERIAL_NUMBER=YOUR_SERIAL_NUMBER\n" where you replace //YOUR_SERIAL_NUMBER// by the serial number you received from Intel. Be careful to use the exact same indentation as the former line 301.