On 02/05/2020 18:35, Mike Kelsey wrote:
Thanks to both Kenneth and Ake for their suggestions!  I'll investigate
both, but I think I have a couple of questions first.

Ake_Sandgren wrote:
it might be possible to specify it using a dependency like this,
('CDMS', EXTERNAL_MODULE),
in the dependeies list, or if you need a specific version,
('CDMS/xx.yy', EXTERNAL_MODULE)

Not sure though since I haven't tried this and it's original target is
for the Cray compilers.

The external module would need a few easybuild variables set.

See
https://easybuild.readthedocs.io/en/latest/Using_external_modules.html?highlight=external%20module
This looks like a great solution.  The module is only for one group within
the HPRC cluster.  I don't want to have to ask the HPRC admins to add our
internal stuff site-wide.  The documentation is slightly ambiguous, at least
to me:

   Since EasyBuild v4.1.0, you can use so-called glob patterns to specify a
   list of paths to --external-modules-metadata, using wildcard characters
   like * and ?.

Does "list of paths" also mean I could do

   export EASYBUILD_EXTERNAL_MODULES_METADATA=/path/one:/path/two:/path/three

?  That would let me pick up the site-wide stuff (for Matlab) as well as our
group definition as you suggest.

Yes, but it's comma-separated, so this will work as expected:

export EASYBUILD_EXTERNAL_MODULES_METADATA='/path1/*.cfg,/path2/justone.cfg,/path3/*.cfg'

You only need the single quotes here to avoid that your shell interprets the '*', they should be passed literally to EasyBuild.


Kenneth Hoste writes:
[...]
You can certainly do it via a post_module_hook (see
https://easybuild.readthedocs.io/en/latest/Hooks.html), where you can
interfere with the generated module file.
Is there an example of a "module hook" anywhere in the repository?  GitHub's
search was entirely unhelpful?

Hmm, not really, but maybe the stuff in https://github.com/easybuilders/easybuild-framework/blob/develop/contrib/hooks/ is helpful?


regards,

Kenneth

                                                -- Mike Kelsey

Reply via email to