Howdy Paul,
Yes, --minimal-toolchains requires the use of
--robot (EASYBUILD_ROBOT) to point to the
easyconfigs for all dependencies.
Jack Perdue
Lead Systems Administrator
High Performance Research Computing
TAMU Division of Research
[email protected] http://hprc.tamu.edu
HPRC Helpdesk: [email protected]
On 07/12/2018 04:10 AM, Paul Melis wrote:
Oh, and am I right in that the robot search path is used for the
resolution, even when --robot isn't actually used as an option?
Paul
On 12-07-18 10:57, Paul Melis wrote:
Hi,
Could anybody please describe the dependency resolution in EB in a
few lines for me? I've been trying to get an unambigious mental
picture of it but get confused by the combination of documentation
(see below), prior experience on our site and some testing we did
yesterday.
The main point I'm trying to get clear is wether
A) EB looks for installed *modules* when it determines if
dependencies are available (regardless if corresponding easyconfigs
are available) or
B) wether it determines easyconfigs for dependencies and then checks
if there's installed modules for those configs.
We have --minimal-toolchains and --use-existing-modules enabled since
a few weeks and I get the impression it changed situation A into B.
EB used to be able to find a dependency when it was installed as a
module, but now it seems to search for the easyconfig (which it can't
find as they're not in the global installation in my case) and
ignores the installed module
The docs seems to point to A, with B needed in certain situations
(but which those are stays a bit fuzzy).
Regards,
Paul
http://easybuild.readthedocs.io/en/latest/Using_the_EasyBuild_command_line.html#enabling-dependency-resolution-robot-r-and-robot-paths
"Unless dependency resolution is enabled, EasyBuid requires that
modules are available for every dependency"
http://easybuild.readthedocs.io/en/latest/Using_the_EasyBuild_command_line.html#searching-for-easyconfigs-the-robot-search-path
"For each dependency that does not have a matching module installed
yet, EasyBuild requires a corresponding easyconfig file."
"Sometimes easyconfig files are needed even when the modules for the
dependencies are already available, i.e., whenever the information
provided by the dependency specification (software name/version,
toolchain and version suffix) is not sufficient."