Lmod is program to manage the user environment under Unix: (Linux, Mac OS X, ...). It is a new implementation of environment modules.
- Documentation: http://lmod.readthedocs.org
- Github: https://github.com/TACC/Lmod
- Sourceforge: https://lmod.sf.net
- TACC Homepage: https://www.tacc.utexas.edu/research-development/tacc-projects/lmod
- Lmod Test Suite: https://github.com/rtmclay/Lmod_test_suite
Please go to https://lists.sourceforge.net/lists/listinfo/lmod-users to join.
The most up-to-date source will be at github. All known bugs have been fixed if it is released on github. When there has been sufficient improvement or important bugfixes there is a new release at sourceforge.
Features:
-
Better support for the fish shell including tab completion (Thanks Alberto!)
-
New function extensions(): This allows for modules like python to report that the extensions numpy and scipy are part of the modules. Users can use "module spider numpy" to find which modules provide numpy etc.
-
Added a new command "clearLmod" which does a module purge and removes all LMOD aliases and environment variables.
Bug Fixes:
-
Remove asking for the absolute path for generating spiderT and dbT. It now only use when building the reverseMapT.
-
Lmod now requires "rx" other access when searching for modulefiles.
-
settarg correctly handles a power9 processor running linux.
Features:
-
Extended Default feature added: module load intel/17 will find the "best" intel/17.* etc.
-
All hidden files are NOT written to the softwarePage output.
Bug Fixes:
-
Lmod now correctly reports failed to load module "A" in the special case where "ml A B" and A is a prereq of B and A doesn't exist.
-
A meta module takes precedence over a regular module if the meta module occurs in an earlier directory in $MODULEPATH
-
Lmod output only "fills" when the text is more than one line or it is wider than the current width.
Features:
-
Embed the TCL interpreter in Lmod when a site allows TCL files
-
"module reset" resets $MODULEPATH to be the system $MODULEPATH
-
Improved tracing of module loads/unloads when --trace is given.
-
Allow MODULERCFILE to be a colon separated list.
Features:
-
Always use ref. counting for MODULEPATH.
-
Make LMOD_RC support a colon separated list of possible lmodrc.lua files.
-
General support for "MODULERC" files written in lua.
Bug Fixes:
-
Just use lua_json provided with Lmod distribution
-
Change ml so that ml av --terse is an error.
-
Allow sites to completely control prefix location of lmod.
-
Support "make -j install"
Features:
-
Lmod now uses reference counting for PATH-like variables
-
Support for MODULEPATH_INIT. If found use <install_dir>/init/.modulespath to specify initial MODULEPATH.
-
Tracing now reports changes to MODULEPATH
-
Support for ml keyword <prop_name> added
Bug Fixes:
-
Lmod now uses the spider cache when restoring when LMOD_CACHED_LOAD=yes
-
Lmod now supports a module with a single leading underscore. It reports an error if there are two or more.
Features:
-
Support for disable <collection_name>
-
A marked default is honored even if it is hidden
-
Support for depends_on() as a better way to handle module dependencies.
Features:
-
Added -T, --trace option to report restore, load, unloads and spider.
-
Report both global and version aliases with module --terse Add Global Aliases output to module avail if they exist.
-
Support for isVisibleHook (Thanks @wpoely86!) to control whether a module is hidden or not.
-
Support for "spider -o spider-json" to set the key "hidden" to true or false for each module.
-
Setting LMOD_EXACT_MATCH=yes also turns off the display of (D) with avail.
-
CMake "shell" added.
-
Added feature that LMOD_TMOD_FIND_FIRST. A site can decide to force FIND_FIRST instead FIND_BEST for NV module layouts.
Bug Fixes:
-
Fix bug where Lmod would be unable to load a module where NV and NVV module layouts were mixed.
-
Fix bug where LMOD_CASE_INDEPENDENT_SORTING=yes wasn't case independent when using avail hook.
Features:
-
Using built-in luafilesystem if system version doesn't exist or < 1.6.2
-
Support for setting LMOD_SYSHOST with configure.
-
Sites or users can use italic instead of dim for hidden modules
-
Detailed spider output reports all dependencies hidden or not.
-
Support for fish shell
-
Move almost all configuration variables from profile.in to bash.in and similarly for tcsh.
Bug Fixes:
-
Fixed bug that caused LMOD env vars to be lower cased.
-
Fixed bug where tcsh/csh exit status was not returned.
-
bash and zsh tab completions works when LMOD_REDIRECT is yes.
-
Can now conflict with a version.
-
Fixed bug with addto a:b:c
-
Fixed bugs in computeHashSum, generating softwarePage.
Bug Fixes:
-
The isloaded() function has been repaired.
-
Updated French, German and Spanish translations.
-
Two error message related to missing modules are now available for translations.
Features:
-
A test suite for testing the Lmod installation has been added. See https://github.com/rtmclay/Lmod_test_suite for details.
-
Added support for localization of errors and warnings and messages.
-
Language Translations complete: ES, Partial: FR, ZH, DE
-
Introduced "errWarnMsgHook" to take advantage of the new message handling.
Bug Fixes:
-
Several bug fixes related to Spider Cache and LMOD_CACHED_LOADS=1
-
Repaired zsh tab completion.
-
Minimize the output of Lmod's BASH_ENV when debugging Bash shell scripts.
-
Allow colons as well as spaces for the path used in the addto command.
-
Handles module directories that are empty or bad symlink or a .version file only.
-
Fix bug in module describe.
Features:
-
The commands "module --show_hidden avail" and "module --show_hidden" list now show "hidden" modules with the (H) property. Also they are displayed as dim. This works better on black backgrounds.
-
Added the command "module --config_json" to generate a json output of Lmod's configuration.
-
Add support for env. var. LMOD_SITE_NAME to set a site's name. This is also a configure option.
Bug Fixes:
-
Hidden module now will not be marked as default.
-
Now check permission of a directory before trying to open it.
-
Lmod now does not pollute the configure time value of LD_LIBRARY_PATH and LD_PRELOAD into the users env.
-
Lmod now handles illegal values of $TERM.
-
This version support N/V/V. (e.g. fftw/64/3.3.4). Put a .version file in with the "64" directory to tell Lmod where the version starts.
-
Marking a default in the MODULERC is now supported.
-
User ~/.modulerc has priority over system MODULERC.
-
System MODULERC has priority over marking a default in the module tree.
-
Installed Modules can be hidden by "hide-version foo/3.2.1" in any modulerc file.
-
The system spider cache has changed. Please update your scripts to build spiderT.lua instead of moduleT.lua
For information to version changes for Lmod before 7.0 see README.old