On 20/03/15 20:43, Michael Thomadakis wrote:
Hi Kenneth,
I see. We can leave with that. To me hierarchical name space is a most
important capability. No long unwieldy lists :)
How easy would be to transition a flat EB name space into a hierchical
one? Which part of a package's EB spec would need to change ?
Depends on what you mean by transitioning... Right now, it would mean
reinstalling the software itself, since EasyBuild doesn't support only
regenerating module files (yet).
In terms of the build specifications (easyconfig files, see
http://easybuild.readthedocs.org/en/latest/Concepts_and_Terminology.html#easyconfig-files),
nothing needs to change at all.
You just need to tell EasyBuild to use a different module naming scheme.
For example, to use the hierarchical module naming scheme that comes
with EasyBuild, you can run something like:
eb --module-naming-scheme=HierarchicalMNS ...
By default, the EasyBuildMNS is used, which is basically
<name>/<version>-<toolchain>-<versionsuffix> .
You can just as easily use a custom module naming scheme too, so you
really have full freedom there w.r.t. how your module tree ends up
looking like.
regards,
Kenneth
thanks
Michael
On Fri, Mar 20, 2015 at 12:33 PM, Kenneth Hoste
<[email protected] <mailto:[email protected]>> wrote:
Hi Michael,
On 20/03/15 16:02, Michael Thomadakis wrote:
Hi Kenneth,
thanks for your prompt reply.
I assume that the installation paths for the packages we produce
with EB may also have a hierarchical structure, as in :
*$INSTDIR/hdf5/1.8.14/**rhel6/**ompi_1.8.4/intel_15.0 *
If this is not currently supported, do you have any plans to add
this capability in the future?
Currently, the install subdirectory is identical to the full
module name, so yes, this is supported.
EB doesn't provide a way (yet) to control the software subdir to
be different than the module name.
regards,
Kenneth
Thanks!
Michael
On Thu, Mar 19, 2015 at 3:44 PM, Kenneth Hoste
<[email protected] <mailto:[email protected]>> wrote:
Hi Michael,
(you're not subscribed to the EasyBuild mailing list yet,
please do so for further follow-up since this list is
subscribers-only, I'm adding you in CC for the time being)
On 19/03/15 21:05, Michael Thomadakis wrote:
Hello Jens,
I am interested in using EB to build and install s/w
packages with complex dependencies (eg., MPI stacks, Libs,
language compilers, etc.)
I noticed though that the name space that EB maintains for
modulefiles and actual s/w installation paths is "flat"
below the package name.
I would like to have something like:
*$MODPATH/rhel6/hdf5/1.8.14/ompi_1.8.4-intel_15.0
*
You probably want something like
$MODPATH/rhel6/hdf5/ompi_1.8.4-intel_15.0/1.8.14 instead
(software version as last component), although I guess it
depends where you make the split between 'prefix' and actual
module name.
but it seems that with EB I can only have
*$MODPATH/rhel6/hdf5-1.8.14-ompi_1.8.4-intel_15.0 *
*
*
*
*
Is there any plan to support fully hierarchical name-space
for both modulefiles and installation paths?
You have full flexibility w.r.t. the module naming scheme
which is used by EasyBuild, and a hierarchical module naming
scheme is already supported (pro tip: use Lmod as a modules
tool for this).
To implement your own custom module naming scheme, you just
need to provide a (small) Python module that implements your
module naming scheme.
See
https://github.com/hpcugent/easybuild/wiki/Using-a-custom-module-naming-scheme
.
An example of a hierarchical module naming scheme is included
with recent EasyBuild releases, see
https://github.com/hpcugent/easybuild-framework/blob/master/easybuild/tools/module_naming_scheme/hierarchical_mns.py.
You can tweak that as you see fit.
I have to admit that the current documentation on
implementing your own *hierarchical* module naming scheme is
a bit shaky, but the HierarchicalMNS implementation itself is
well documented via docstrings and comments.
Let us know if you have any questions.
regards,
Kenneth