Software Name
Environment Modules
Public URL
https://envmodules.io/
Technical Overview
Environment Modules project provides an alternative module implementation to Lmod with many new features to smoothly manage user environment and a lot more to come in the future. Modules is now a Linux Foundation project part of HPSF
As of version 5.6, Modules supports:
- Hierarchical module organization
- All Lmod Tcl modulefile commands (copes with the
family, depends-on, module try-add commands used in OpenHPC modulefiles.
More information:
The aim of this submission is to allow OpenHPC users to use Environment Modules on their OpenHPC installation instead of Lmod if they want to. This is not to replace what is currently set as default but to provide an alternative solution.
This integration will require to have all modulefiles and modulercs of ohpc repository written in Tcl, or at least a Tcl modulefile for each Lua modulefile you would like to keep (Lmod copes very well this that). There are a few exceptions but the ohpc repository already mostly contains Tcl modulefiles.
We will provide all the required support for this integration and on the module topic at large, as we always do with projects integrating ours (RHEL, Spack, EasyBuild).
Latest stable version number
5.6.1
Open-source license type
GPLv2+
Relationship to component?
If other, please describe:
Build system
If other, please describe:
configure script is a bash script, but it acts like an autotools-generated configure script.
A RPM spec file is available at https://github.com/cea-hpc/modules/blob/master/contrib/rpm/environment-modules.spec.in
Does the current build system support staged path installations?
For example: make install DESTIR=/tmp/foo (or equivalent)
Does component run in user space or are administrative credentials required?
Does component require post-installation configuration.
If yes, please describe briefly:
If you want to achieve an initial configuration of the user environment, with default modulepaths set and default module loaded, the /etc/environment-modules/initrc configuration file has to be changed. For instance, to reproduce a similar configuration than the one set in /etc/profile.d/lmod.{sh,csh}:
#%Module5.0
# ensure that module command is still defined in sub-shells
module config set_shell_startup 1
module use /opt/ohpc/pub/modulefiles
if {[module-info username root]} {
module use /opt/ohpc/admin/modulefiles
}
# Load baseline OpenHPC environment
module try-add ohpc
If component is selected, are you willing and able to collaborate with OpenHPC maintainers during the integration process?
Does the component include test collateral (e.g. regression/verification tests) in the publicly shipped source?
If yes, please briefly describe the intent and location of the tests.
Modules is shipped with:
- a testsuite, checking that the generated
modulecmd.tcl script behaves properly for all a large variety of situations (24k+ tests): run make test
- an installation testsuite, checking the overall Modules installation behaves properly (1k tests): run
make testinstall
All these tests rely on the DejaGnu framework
Does the component have additional software dependencies (beyond compilers/MPI) that are not part of standard Linux distributions?
If yes, please list the dependencies and associated licenses.
Does the component include online or installable documentation?
If available online, please provide URL.
https://modules.readthedocs.io/en/stable/INSTALL.html
[Optional]: Would you like to receive additional review feedback by email?
Software Name
Environment Modules
Public URL
https://envmodules.io/
Technical Overview
Environment Modules project provides an alternative
moduleimplementation to Lmod with many new features to smoothly manage user environment and a lot more to come in the future. Modules is now a Linux Foundation project part of HPSFAs of version 5.6, Modules supports:
family,depends-on,module try-addcommands used in OpenHPC modulefiles.More information:
The aim of this submission is to allow OpenHPC users to use Environment Modules on their OpenHPC installation instead of Lmod if they want to. This is not to replace what is currently set as default but to provide an alternative solution.
This integration will require to have all modulefiles and modulercs of ohpc repository written in Tcl, or at least a Tcl modulefile for each Lua modulefile you would like to keep (Lmod copes very well this that). There are a few exceptions but the ohpc repository already mostly contains Tcl modulefiles.
We will provide all the required support for this integration and on the
moduletopic at large, as we always do with projects integrating ours (RHEL, Spack, EasyBuild).Latest stable version number
5.6.1
Open-source license type
GPLv2+
Relationship to component?
If other, please describe:
Build system
If other, please describe:
configurescript is a bash script, but it acts like an autotools-generatedconfigurescript.A RPM spec file is available at https://github.com/cea-hpc/modules/blob/master/contrib/rpm/environment-modules.spec.in
Does the current build system support staged path installations?
For example:
make install DESTIR=/tmp/foo(or equivalent)Does component run in user space or are administrative credentials required?
Does component require post-installation configuration.
If yes, please describe briefly:
If you want to achieve an initial configuration of the user environment, with default modulepaths set and default module loaded, the
/etc/environment-modules/initrcconfiguration file has to be changed. For instance, to reproduce a similar configuration than the one set in/etc/profile.d/lmod.{sh,csh}:If component is selected, are you willing and able to collaborate with OpenHPC maintainers during the integration process?
Does the component include test collateral (e.g. regression/verification tests) in the publicly shipped source?
If yes, please briefly describe the intent and location of the tests.
Modules is shipped with:
modulecmd.tclscript behaves properly for all a large variety of situations (24k+ tests): runmake testmake testinstallAll these tests rely on the DejaGnu framework
Does the component have additional software dependencies (beyond compilers/MPI) that are not part of standard Linux distributions?
If yes, please list the dependencies and associated licenses.
Does the component include online or installable documentation?
If available online, please provide URL.
https://modules.readthedocs.io/en/stable/INSTALL.html
[Optional]: Would you like to receive additional review feedback by email?