Dear Franky,

You are using the robot path exactly right. It tells EasyBuild the order of 
places to look for easyconfigs, you definitely want your custom easyconfigs to 
appear there first.

Bundling everything into a single Intel installation may not work perfectly out 
of the box, many easyblocks rely on parameters such as "EBROOTIMKL" being 
defined, if these are not available then it's likely you will run into errors 
at some point. Kenneth is working on an installation of Parallel Studio that 
will cover these 
cases<https://github.com/hpcugent/easybuild-framework/pull/2096>, but is not 
ready yet.

Alan

On 24 February 2017 at 11:01, Backeljauw Franky 
<[email protected]<mailto:[email protected]>> wrote:
Hi all,

I have a question regarding the way EasyBuild checks its dependencies. We have 
a ‘custom build’ intel/2017a module installed (i.e. with everything installed 
in a single directory) and now I want to install (e.g.) 
zlib-1.2.11-intel-2017a.eb. This file contains:

toolchain = {'name': 'intel', 'version': '2017a'}
toolchainopts = {'pic': True}

and we have intel/2017a in our list of modules.

But when I want to install it, it says it needs a lot of other modules as well:

$ eb -D zlib-1.2.11-intel-2017a.eb
Dry run: printing build status of easyconfigs and dependencies
 * [x] $CFGS/easyconfigs/m/M4/M4-1.4.17.eb (module: M4/1.4.17)
 * [x] $CFGS/easyconfigs/b/Bison/Bison-3.0.4.eb (module: Bison/3.0.4)
 * [x] $CFGS/f/flex/flex-2.6.0.eb (module: flex/2.6.0)
 * [x] $CFGS/z/zlib/zlib-1.2.8.eb (module: zlib/1.2.8)
 * [x] $CFGS/b/binutils/binutils-2.27.eb (module: binutils/2.27)
 * [x] $CFGS/g/GCCcore/GCCcore-6.3.0.eb (module: GCCcore/6.3.0)
 * [x] $CFGS/m/M4/M4-1.4.18-GCCcore-6.3.0.eb (module: M4/1.4.18-GCCcore-6.3.0)
 * [x] $CFGS/z/zlib/zlib-1.2.11-GCCcore-6.3.0.eb (module: 
zlib/1.2.11-GCCcore-6.3.0)
 * [x] $CFGS/h/help2man/help2man-1.47.4-GCCcore-6.3.0.eb (module: 
help2man/1.47.4-GCCcore-6.3.0)
 * [x] $CFGS/b/Bison/Bison-3.0.4-GCCcore-6.3.0.eb (module: 
Bison/3.0.4-GCCcore-6.3.0)
 * [x] $CFGS/f/flex/flex-2.6.3-GCCcore-6.3.0.eb (module: 
flex/2.6.3-GCCcore-6.3.0)
 * [x] $CFGS/b/binutils/binutils-2.27-GCCcore-6.3.0.eb (module: 
binutils/2.27-GCCcore-6.3.0)
 * [ ] $CFGS/i/icc/icc-2017.1.132-GCC-6.3.0-2.27.eb (module: 
icc/2017.1.132-GCC-6.3.0-2.27)
 * [ ] $CFGS/i/ifort/ifort-2017.1.132-GCC-6.3.0-2.27.eb (module: 
ifort/2017.1.132-GCC-6.3.0-2.27)
 * [ ] $CFGS/i/iccifort/iccifort-2017.1.132-GCC-6.3.0-2.27.eb (module: 
iccifort/2017.1.132-GCC-6.3.0-2.27)
 * [ ] $CFGS/i/impi/impi-2017.1.132-iccifort-2017.1.132-GCC-6.3.0-2.27.eb 
(module: impi/2017.1.132-iccifort-2017.1.132-GCC-6.3.0-2.27)
 * [ ] $CFGS/i/iimpi/iimpi-2017a.eb (module: iimpi/2017a)
 * [ ] $CFGS/i/imkl/imkl-2017.1.132-iimpi-2017a.eb (module: 
imkl/2017.1.132-iimpi-2017a)
 * [x] $CFGS/i/intel/intel-2017a.eb (module: intel/2017a)
 * [ ] $CFGS/build/zlib-1.2.11-intel-2017a.eb (module: zlib/1.2.11-intel-2017a)

It seems to look at the dependencies in intel-2017a.eb instead of just using 
the install intel/2017a module. Is this how it works?

Is there an option or anything to tell EasyBuild to first look whether the 
toolchain is available as a module, and if so, to use this module and not to 
look at the dependencies inside intel-2017a.eb?

I’ve managed to work around this by having our own intel-2017a.eb (with all 
dependencies removed) in front of the robot path, but it feels like I’m 
misleading EasyBuild and I want to make sure no future issues will arise with 
this setup.

I could also create separate ‘phony’ modules for all the dependencies above 
(icc, ifort, iccifort) which will then surely work but I’m not seeing any 
benefit but rather more modules (which is just why we only want to have one 
single module for this toolchain).

Hoping for some advice or best practices,
thanks for your reply,
regards,

Franky




--
Dr. Alan O'Cais
E-CAM Software Manager
Juelich Supercomputing Centre
Forschungszentrum Juelich GmbH
52425 Juelich, Germany

Phone: +49 2461 61 5213
Fax: +49 2461 61 6656
E-mail: [email protected]<mailto:[email protected]>
WWW:    http://www.fz-juelich.de/ias/jsc/EN


------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Reply via email to