Hi Todd,
On 12/09/14 23:05, Heywood, Todd wrote:
Hi,
You said:
This should enable production use of a hierarchical module naming scheme
through EasyBuild.
Did you refer to documenting this awhile back? :-)
It basically boils down to using a custom module naming scheme.
That's documented at [2], but that page needs an update for custom
*hierarchical* module naming schemes however.
What are you looking for specifically? Implementing your own custom
hierarchical module naming scheme? Or simply using the provided
HierarchicalMNS?
To use HierarchicalMNS (or any other custom module naming scheme):
export EASYBUILD_MODULE_NAMING_SCHEME=HierarchicalMNS
eb --dry-run --robot ...
To implement your own custom hierarchical module naming scheme:
i) see the generic guidelines in [1]
ii) check the API documentation for the ModuleNamingScheme base
class @ [2] (via [3])
iii) copy and adapt [4] to your needs/wishes
I know this is no replacement for proper & detailed documentation, but
it may help. Please don't hesitate to get back to us if you have questions.
I'll try and update the wiki page ASAP (it's right up there next to the
other stuff I need to take care of ASAP).
regards,
Kenneth
[1]
https://github.com/hpcugent/easybuild/wiki/Using-a-custom-module-naming-scheme
[2]
https://jenkins1.ugent.be/view/EasyBuild/job/easybuild-framework_unit-test_hpcugent_master/Documentation/easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme-class.html
[3]
https://jenkins1.ugent.be/view/EasyBuild/job/easybuild-framework_unit-test_hpcugent_master/Documentation/
[4]
https://github.com/hpcugent/easybuild-framework/blob/master/easybuild/tools/module_naming_scheme/hierarchical_mns.py
TOdd
From: Kenneth Hoste <[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Date: Friday, September 12, 2014 at 3:38 PM
To: EasyBuild <[email protected]<mailto:[email protected]>>
Subject: [easybuild] [ANN] EasyBuild v1.15.0
Hello EasyBuilders,
We're happy to announce the release of EasyBuild v1.15.0 [1], our best release
yet (no really!).
For this release, we focused on the issues that were reported w.r.t. using a
hierarchical module naming scheme [2].
In particular, the following major issues were resolved:
* 'module load' statements for compiler/MPI modules are no longer included
in modules deeper down the hierarchy
* the conflict statements in generated modules now correctly take the
active module naming scheme into account
This should enable production use of a hierarchical module naming scheme
through EasyBuild.
Further enhancements are either already in the works or are being planned [2,
3].
Please report [4] any problems you run into.
Other fixed issues are the interaction between --robot and --from-pr, and
between --robot and --try-X (and --force).
Notable enhancements include support for installing and using hidden modules
(see --hidden) and for indicating which builds will be forced in the output of
--dry-run using [F] (as opposed to [x]).
A detailed overview of the other enhancements to the EasyBuild framework is
available in the easybuild-framework release notes [5].
Next to this, support for 12 new software packages, including NAMD and IOR, was
added via two new easyblocks and new easyconfig files.
Additionally, easyconfigs for more recent versions of multiple software packages
have been added, including Python (v2.7.8 & v3.4.1), Perl (v5.20.0), R
(v3.1.1), NWChem (v6.3), OpenFOAM-Extend (v3.1), GCC (v4.9.1), and Clang (v3.4.2).
See [6, 7] for more details.
All of this should not affect backward compatibility, i.e., existing working
easyblocks and easyconfig files should still work (even if they're not included
in this release).
If not, they are probably suffering from a bug in a previous EasyBuild version
that went undetected up until now.
Please let us know if you run into any unexpected problems.
Updating to EasyBuild v1.15.0 can be done by:
* reinstalling EasyBuild from PyPi (don't forget --upgrade if you're using
easy_install),
* updating (the master branch of) your GitHub repository clones, or
* installing EasyBuild with EasyBuild, using the easyconfig file available
via [8] or via --try-software-version (this requires EasyBuild v1.8.2 or more
recent)
Enjoy!
regards,
Kenneth
[1] http://pypi.python.org/pypi/easybuild
[2] https://github.com/hpcugent/easybuild-framework/issues/1011
[3] https://github.com/hpcugent/easybuild-easyconfigs/pull/1014
[4] https://github.com/hpcugent/easybuild-framework/issues/new
[5] https://github.com/hpcugent/easybuild-framework/blob/master/RELEASE_NOTES
[6] https://github.com/hpcugent/easybuild-easyblocks/blob/master/RELEASE_NOTES
[7] https://github.com/hpcugent/easybuild-easyconfigs/blob/master/RELEASE_NOTES
[8]
https://github.com/hpcugent/easybuild-easyconfigs/pull/1085<https://github.com/hpcugent/easybuild-easyconfigs/pull/967>