Mini Shell
Installing Modules on Unix
**************************
This document is an overview of building and installing Modules on a
Unix system.
Requirements
============
Modules consists of one Tcl script so to run it from a user shell the
only requirement is to have a working version of "tclsh" (version 8.5
or later) available on your system. "tclsh" is a part of Tcl
(http://www.tcl-lang.org/software/tcltk/).
To install Modules from a distribution tarball or a clone of the git
repository, a build step is there to tailor the "modulecmd.tcl" and
the initialization scripts to the chosen installation configuration
and create the documentation files. This build step requires the tools
to be found on your system:
* bash
* make
* sed
* runtest
When also installing Modules Tcl extension library (enabled by
default), these additional tools are needed:
* grep
* gcc
* tcl-devel >= 8.5
When installing from a distribution tarball, documentation is pre-
built and scripts to configure Modules Tcl extension library build are
already generated. Thus no additional software is required. When
installing from a clone of the git repository or from a git archive
export, documentation and scripts to prepare for compilation have to
be built and the following tools are required:
* autoconf
* automake
* autopoint
* python
* sphinx >= 1.0
Get Modules
===========
Modules can usually be installed with the package manager of your Unix
system. It it is available by default on most Linux distributions, on
OS X and FreeBSD either under the name of "modules" or "environment-
modules".
If you want to install Modules from sources, tarballs from all
Modules' releases can be retrieved from one of the following link:
* https://github.com/cea-hpc/modules/releases/
* https://sourceforge.net/projects/modules/files/Modules/
For instance to download then unpack the last release of Modules:
$ curl -LJO https://github.com/cea-hpc/modules/releases/download/v5.3.0/modules-5.3.0.tar.gz
$ tar xfz modules-5.3.0.tar.gz
Installation instructions
=========================
The simplest way to build and install Modules is:
$ ./configure
$ make
$ make install
Some explanation, step by step:
1. "cd" to the directory containing the package's source code. Your
system must have the above requirements installed to properly build
scripts, and documentation if build occurs from a clone of the git
repository.
2. Type "./configure" to adapt the installation for your system. At
this step you can choose the installation paths and the features
you want to enable in the initialization scripts (see Build and
installation options section below for a complete overview of the
available options)
3. Type "make" to adapt scripts to the configuration, build Tcl
extension library if enabled and build documentation if working
from git repository.
4. Optionally, type "make test" to run the test suite.
5. Type "make install" to install modulecmd.tcl, initialization
scripts and documentation.
6. Optionally, type "make testinstall" to run the installation test
suite.
7. You can remove the built files from the source code directory by
typing "make clean". To also remove the files that "configure"
created, type "make distclean".
A default installation process like described above will install
Modules under "/usr/local/Modules". You can change this with the "--
prefix" option. By default, "/usr/local/Modules/modulefiles" will be
setup as the default directory containing modulefiles. "--
modulefilesdir" option enables to change this directory location. For
example:
$ ./configure --prefix=/usr/share/Modules \
--modulefilesdir=/etc/modulefiles
See Build and installation options section to discover all
"./configure" option available.
Note:
GNU Make is excepted to be used for this build and installation
process. On non-Linux systems, the "gmake" should be called instead
of "make".
Configuration
=============
Once installed you should review and adapt the configuration to make
it fit your needs. The following steps are provided for example. They
are not necessarily mandatory as it depends of the kind of setup you
want to achieve.
1. Enable Modules initialization at shell startup. An easy way to get
module function defined and its associated configuration setup at
shell startup is to make the initialization scripts part of the
system-wide environment setup in "/etc/profile.d". To do so, make a
link in this directory to the profile scripts that can be found in
your Modules installation init directory:
$ ln -s PREFIX/init/profile.sh /etc/profile.d/modules.sh
$ ln -s PREFIX/init/profile.csh /etc/profile.d/modules.csh
These profile scripts will automatically adapt to the kind of "sh"
or "csh" shell you are running.
Another approach may be to get the Modules initialization script
sourced from the shell configuration startup file. For instance
following line could be added to the end of the "~/.bashrc" file if
running Bash shell:
source PREFIX/init/bash
Beware that shells have multiple ways to initialize depending if
they are a login shell or not and if they are launched in
interactive mode or not.
2. Define module paths to enable by default. Edit "initrc"
configuration file in the directory designated by the "--etcdir"
option or edit "modulespath" in the same directory.
If you use "modulespath" configuration file, add one line
mentioning each modulefile directory:
/path/to/regular/modulefiles
/path/to/other/modulefiles
If you use "initrc" configuration file, add one line mentioning
each modulefile directory prefixed by the "module use" command:
module use /path/to/regular/modulefiles
module use /path/to/other/modulefiles
In case both configuration files "initrc" and "modulespath" are
present, Modules initialization process will first evaluate
"modulespath" then "initrc".
By default, the modulepaths specified on the "--with-modulepath"
installation option are automatically defined for use in "initrc"
(or in "modulespath" if the "--enable-modulespath" installation
option has been set).
Note:
If you have set "--with-initconf-in" to "initdir" to install the
Modules initialization configurations in the configuration
directory designated by the "--initdir" option, the configuration
files "initrc" and "modulespath" are respectively named
"modulerc" and ".modulespath".
3. Define modulefiles to load by default. Edit "initrc" configuration
file. Modulefiles to load cannot be specified in "modulespath"
file. Add there all the modulefiles you want to load by default at
Modules initialization time.
Add one line mentioning each modulefile to load prefixed by the
"module load" command:
module load foo
module load bar
By default, the modules specified on the "--with-loadedmodules"
installation option are automatically defined for load in "initrc".
Alternatively, if users have module collections saved in their
"HOME" directory, you may prefer restoring their default collection
when Modules initializes rather loading the default module list:
if {[is-saved default]} {
module restore
} else {
module load foo
module load bar
}
In fact you can add to the "initrc" configuration file any kind of
supported module command, like "module config" commands to tune
**module**'s default behaviors. This configuration way is
recommended over directly modifying the shell initialization
scripts.
See the Configuration options section to discover all Modules "config"
options available, their default value and the installation options
linked to them.
If you go through the above steps you should have a valid setup tuned
to your needs. After that you still have to write modulefiles to get
something to load and unload in your newly configured Modules setup.
In case you want to achieve a specific setup, some additional steps
may be required:
4. In case the configuration you expect cannot be achieved through the
"initrc" configuration file, you may review and tune the
initialization scripts. These files are located in the directory
designated by the "--initdir" option. Beware that these scripts
could be overwritten when upgrading to a newer version of Modules,
so configuration should be done through the "initrc" file as far as
possible.
5. If you want to alter the way the "modulecmd.tcl" script operates,
the "siteconfig.tcl" script may be used. This Tcl file is located
in the directory designated by the "--etcdir" option. Every time
the **module** command is called, it executes the "modulecmd.tcl"
script which in turns sources the "siteconfig.tcl" script during
its startup phase. The site-specific configuration script could
override default configuration values and more largely could
supersede all procedures defined in "modulecmd.tcl" to obtain
specific behaviors.
6. Prior running the module sub-command specified as argument, the
"modulecmd.tcl" script evaluates the global run-command files.
These files are either the "rc" file in the directory designated by
the "--etcdir" option, the file designated in the "MODULERCFILE"
environment variable or the user-specific RC file located in
"$HOME/.modulerc". The RC files are modulefiles (limited to a
subset of the modulefile Tcl commands) that could define global
module aliases, virtual modules or module properties such as tags,
forbidding rules, etc.
Note:
Run-command files are intended to set parameters for modulefiles,
not to configure the **module** command itself.
To learn more about siteconfig and run-command files, see the
Modulecmd startup section in module reference manual. You may also
look at the available setup recipes to get concrete deployment
examples of these files.
Build and installation options
==============================
Options available at the "./configure" installation step are described
below. These options enable to choose the installation paths and the
features to enable or disable. You can also get a description of these
options by typing "./configure --help".
Fine tuning of the installation directories (the default value for
each option is displayed within brackets):
--bindir=DIR
Directory for executables reachable by users ["PREFIX/bin"]
--datarootdir=DIR
Base directory to set the man and doc directories ["PREFIX/share"]
--docdir=DIR
Directory to host documentation other than man pages like README,
license file, etc ["DATAROOTDIR/doc"]
--etcdir=DIR
Directory for the executable configuration scripts ["PREFIX/etc"]
--initdir=DIR
Directory for the per-shell environment initialization scripts
["PREFIX/init"]
--libdir=DIR
Directory for object code libraries like libtclenvmodules.so
["PREFIX/lib"]
--libexecdir=DIR
Directory for executables called by other executables like
modulecmd.tcl ["PREFIX/libexec"]
--mandir=DIR
Directory to host man pages ["DATAROOTDIR/man"]
--modulefilesdir=DIR
Directory of main modulefiles also called system modulefiles
["PREFIX/modulefiles"]
--nagelfardatadir=DIR
Directory to host Nagelfar linter addon files
["DATAROOTDIR/nagelfar"]
--prefix=PREFIX
Installation root directory ["/usr/local/Modules"]
--vimdatadir=DIR
Directory to host Vim addon files ["DATAROOTDIR/vim/vimfiles"]
Optional Features (the default for each option is displayed within
parenthesis, to disable an option replace "enable" by "disable" for
instance "--disable-set-manpath"):
--enable-advanced-version-spec
Activate the advanced module version specifiers which enables to
finely select module versions by specifying after the module name a
version constraint prefixed by the "@" character. This option also
allows to specify module variants. (default=yes)
This installation option defines the default value of the
"advanced_version_spec" configuration option which could be changed
after installation with the "config" sub-command.
--enable-append-binpath
Append rather prepend binary directory to the PATH environment
variable when the "--enable-set-binpath" option is enabled.
(default=no)
--enable-append-manpath
Append rather prepend man page directory to the MANPATH environment
variable when the "--enable-set-manpath" option is enabled.
(default=no)
--enable-auto-handling
Set modulecmd.tcl to automatically apply automated modulefiles
handling actions, like loading the pre-requisites of a modulefile
when loading this modulefile. (default=yes)
This installation option defines the default value of the
"auto_handling" configuration option which could be changed after
installation with the "config" sub-command.
--enable-avail-indepth
When performing an "avail" sub-command, include in search results
the matching modulefiles and directories and recursively the
modulefiles and directories contained in these matching directories
when enabled or limit search results to the matching modulefiles
and directories found at the depth level expressed by the search
query if disabled. (default=yes)
This installation option defines the default value of the
"avail_indepth" configuration option which could be changed after
installation with the "config" sub-command.
--enable-color
Control if output should be colored by default or not. A value of
"yes" equals to the "auto" color mode. "no" equals to the "never"
color mode. (default=yes)
This installation option defines the default value of the "color"
configuration option which could be changed after installation with
the "config" sub-command.
--enable-doc-install
Install the documentation files in the documentation directory
defined with the "--docdir" option. This feature has no impact on
manual pages installation. Disabling documentation file
installation is useful in case of installation process handled via
a package manager which handles by itself the installation of this
kind of documents. (default=yes)
--enable-example-modulefiles
Install some modulefiles provided as example in the system
modulefiles directory defined with the "--modulefilesdir" option.
(default=yes)
--enable-extended-default
Allow to specify module versions by their starting part, i.e.
substring separated from the rest of the version string by a "."
character. (default=yes)
This installation option defines the default value of the
"extended_default" configuration option which could be changed
after installation with the "config" sub-command.
--enable-implicit-default
Define an implicit default version, for modules with none
explicitly defined, to select when the name of the module to
evaluate is passed without the mention of a specific version. When
this option is disabled the name of the module passed for
evaluation should be fully qualified elsewhere an error is
returned. (default=yes)
This installation option defines the default value of the
"implicit_default" configuration option which could be changed
after installation with the "config" sub-command.
--enable-implicit-requirement
Implicitly define a prereq or a conflict requirement toward modules
specified respectively on "module load" or "module unload" commands
in modulefile. (default=yes)
This installation option defines the default value of the
"implicit_requirement" configuration option which could be changed
after installation with the "config" sub-command.
--enable-libtclenvmodules
Build and install the Modules Tcl extension library which provides
optimized Tcl commands for the modulecmd.tcl script. (default=yes)
--enable-mcookie-version-check
Enable check of the version specified right after Modules magic
cookie (i.e., "#%Module" file signature) in modulefiles, which
defines the minimal version of the Modules tool to use in order to
evaluate the modulefile. (default=yes)
This installation option defines the default value of the
"mcookie_version_check" configuration option which could be changed
after installation with the "config" sub-command.
--enable-ml
Define the **ml** command, a handy frontend to the module command,
when Modules initializes. (default=yes)
This installation option defines the default value of the "ml"
configuration option which could be changed after installation with
the "config" sub-command.
--enable-modulespath, --enable-dotmodulespath
Set the module paths defined by "--with-modulepath" option in a
"modulespath" file (following C version fashion) within the
initialization directory defined by the "--etcdir" option rather
than within the "initrc" file. Or respectively, if option "--with-
initconf-in" has been set to "initdir", in a ".modulespath" file
within the configuration directory defined by the "--initdir"
option rather than within the "modulerc" file. (default=no)
--enable-multilib-support
Support multilib systems by looking in modulecmd.tcl at an
alternative location where to find the Modules Tcl extension
library depending on current machine architecture. (default=no)
--enable-nagelfar-addons
Install the Nagelfar linter addon files (syntax databases and
plugins to lint modulefiles and modulercs) in the Nagelfar addons
directory defined with the "--nagelfardatadir" option.
(default=yes)
--enable-new-features
Enable all new features that are disabled by default due to the
substantial behavior changes they imply on Modules 5. This option
does not enable other configuration option currently. (default=no)
--enable-quarantine-support
Generate code in module function definition to add support for the
environment variable quarantine mechanism (default=no)
This installation option defines the default value of the
"quarantine_support" configuration option which could be changed
after installation with the "config" sub-command.
--enable-set-binpath
Prepend binary directory defined by the "--bindir" option to the
PATH environment variable in the shell initialization scripts.
(default=yes)
--enable-set-manpath
Prepend man page directory defined by the "--mandir" option to the
MANPATH environment variable in the shell initialization scripts.
(default=yes)
--enable-set-shell-startup
Set when module function is defined the shell startup file to
ensure that the module function is still defined in sub-shells.
(default=no)
This installation option defines the default value of the
"set_shell_startup" configuration option which could be changed
after installation with the "config" sub-command.
--enable-silent-shell-debug-support
Generate code in module function definition to add support for
silencing shell debugging properties (default=no)
This installation option defines the default value of the
"silent_shell_debug" configuration option which could be changed
after installation with the "config" sub-command.
--enable-versioning
Append Modules version to installation prefix and deploy a
"versions" modulepath shared between all versioning enabled Modules
installation. A modulefile corresponding to Modules version is
added to the shared modulepath and enables to switch from one
Modules version to another. (default=no)
--enable-vim-addons
Install the Vim addon files in the Vim addons directory defined
with the "--vimdatadir" option. (default=yes)
--enable-wa-277
Activate workaround for issue #277 related to Tcsh history
mechanism which does not cope well with default module alias
definition. Note that enabling this workaround solves Tcsh history
issue but weakens shell evaluation of the code produced by
modulefiles. (default=no)
This installation option defines the default value of the "wa_277"
configuration option which could be changed after installation with
the "config" sub-command.
--enable-windows-support
Install all required files for Windows platform (**module**, **ml**
and **envml** command batch file and "cmd.cmd" initialization
script). (default=no)
Optional Packages (the default for each option is displayed within
parenthesis, to disable an option replace "with" by "without" for
instance "--without-modulepath"):
--with-avail-output=LIST
Specify the content to report on avail sub-command regular output
in addition to the available module names. Elements accepted in
LIST are: "modulepath", "alias", "dirwsym", "sym", "tag", "key",
"variant" and "variantifspec" (elements in LIST are separated by
":"). The order of the elements in LIST does not matter.
(default="modulepath:alias:dirwsym:sym:tag:variantifspec:key")
This installation option defines the default value of the
"avail_output" configuration option which could be changed after
installation with the "config" sub-command.
--with-avail-terse-output=LIST
Specify the content to report on avail sub-command terse output in
addition addition to the available module names. Elements accepted
in LIST are: "modulepath", "alias", "dirwsym", "sym", "tag", "key",
"variant" and "variantifspec" (elements in LIST are separated by
":"). The order of the elements in LIST does not matter.
(default="modulepath:alias:dirwsym:sym:tag:variantifspec")
This installation option defines the default value of the
"avail_terse_output" configuration option which could be changed
after installation with the "config" sub-command.
--with-bashcompletiondir=DIR
Directory for Bash completion scripts. When this option is not set
Bash completion script for Modules is installed in the
initialization script directory and is sourced from Modules Bash
initialization script. (default=)
--with-bin-search-path=PATHLIST
List of paths to look at when searching the location of tools
required to build and configure Modules
(default="/usr/bin:/bin:/usr/local/bin")
--with-dark-background-colors=SGRLIST
Default color set to apply if terminal background color is defined
to "dark". SGRLIST follows the same syntax than used in
"LS_COLORS". Each element in SGRLIST is an output item associated
to a Select Graphic Rendition (SGR) code. Elements in SGRLIST are
separated by ":". Output items are designated by keys.
Items able to be colorized are: highlighted element ("hi"), debug
information ("db"), trace information ("tr") tag separator ("se");
Error ("er"), warning ("wa"), module error ("me") and info ("in")
message prefixes; Modulepath ("mp"), directory ("di"), module alias
("al"), module variant ("va"), module symbolic version ("sy") and
module "default" version ("de").
Module tags can also be colorized. The key to set in the color
palette to get a graphical rendering of a tag is the tag name or
the tag abbreviation if one is defined for tag. The SGR code
applied to a tag name is ignored if an abbreviation is set for this
tag thus the SGR code should be defined for this abbreviation to
get a graphical rendering. Each basic tag has by default a key set
in the color palette, based on its abbreviated string: auto-loaded
("aL"), forbidden ("F"), hidden and hidden-loaded ("H"), loaded
("L"), nearly-forbidden ("nF"), sticky ("S"), super-sticky ("sS")
and keep-loaded ("kL").
For a complete SGR code reference, see https://en.wikipedia.org/wi
ki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters. (de
fault="hi=1:db=2:tr=2:se=2:er=91:wa=93:me=95:in=94:mp=1;94:di=94:a
l=96:va=93:sy=95:de=4:cm=92:aL=100:L=90;47:H=2:F=41:nF=43:S=46:sS=
44:kL=30;48;5;109")
This installation option defines the default value of the "colors"
configuration option when "term_background" configuration option
equals "dark". "colors" could be changed after installation with
the "config" sub-command.
--with-editor=BIN
Name or full path of default editor program to use to open
modulefile through the "edit" sub-command. (default="vi")
This installation option defines the default value of the "editor"
configuration option which could be changed after installation with
the "config" sub-command.
--with-fishcompletiondir=DIR
Directory for Fish completion scripts. When this option is not set
Fish completion script for Modules is installed in the
initialization script directory and is sourced from Modules Fish
initialization script. (default=)
--with-icase=VALUE
Apply a case insensitive match to module specification on "avail",
"whatis" and "paths" sub-commands (when set to "search") or on all
module sub-commands and modulefile Tcl commands for the module
specification they receive as argument (when set to "always"). Case
insensitive match is disabled when this option is set to "never".
(default="search")
This installation option defines the default value of the "icase"
configuration option which could be changed after installation with
the "config" sub-command.
--with-initconf-in=VALUE
Location where to install Modules initialization configuration
files. Either "initdir" or "etcdir" (default="etcdir")
--with-light-background-colors=SGRLIST
Default color set to apply if terminal background color is defined
to "light". Expect the same syntax than described for "--with-dark-
background-colors". (default="hi=1:db=2:tr=2:se=2:er=31:wa=33:me=3
5:in=34:mp=1;34:di=34:al=36:va=33:sy=35:de=4:cm=32:aL=107:L=47:H=2
:F=101:nF=103:S=106:sS=104:kL=48;5;109")
This installation option defines the default value of the "colors"
configuration option when "term_background" configuration option
equals "light". "colors" could be changed after installation with
the "config" sub-command.
--with-list-output=LIST
Specify the content to report on list sub-command regular output in
addition to the loaded module names. Elements accepted in LIST are:
"header", "idx", "variant", "sym", "tag" and "key" (elements in
LIST are separated by ":"). The order of the elements in LIST does
not matter. (default="header:idx:variant:sym:tag:key")
This installation option defines the default value of the
"list_output" configuration option which could be changed after
installation with the "config" sub-command.
--with-list-terse-output=LIST
Specify the content to report on list sub-command terse output in
addition to the loaded module names. Elements accepted in LIST are:
"header", "idx", "variant", "sym", "tag" and "key" (elements in
LIST are separated by ":"). The order of the elements in LIST does
not matter. (default="header")
This installation option defines the default value of the
"list_terse_output" configuration option which could be changed
after installation with the "config" sub-command.
--with-loadedmodules=MODLIST
Default modulefiles to load at Modules initialization time. Each
modulefile in this list should be separated by ":". Defined value
is registered in the "initrc" configuration file or in the
"modulerc" file if "--with-initconf-in" is set to "initdir".
(default=)
--with-locked-configs=CONFIGLIST
Ignore environment variable superseding value for the listed
configuration options. Accepted option names in CONFIGLIST are
"extra_siteconfig" and "implicit_default" (each option name should
be separated by whitespace character). (default=)
This installation option defines the default value of the
"locked_configs" configuration option which cannot not be changed
after installation.
--with-modulepath=PATHLIST
Default path list to setup as the default modulepaths. Each path
in this list should be separated by ":". Defined value is
registered in the "initrc" or "modulespath" configuration file,
depending on the "--enable-modulespath" option. These files are
respectively called "modulerc" and ".modulespath" if "--with-
initconf-in" is set to "initdir". The path list value is read at
initialization time to populate the MODULEPATH environment
variable. By default, this modulepath is composed of the directory
set for the system modulefiles (default="PREFIX/modulefiles" or
"BASEPREFIX/$MODULE_VERSION/modulefiles" if versioning installation
mode enabled)
--with-moduleshome
Location of the main Modules package file directory
(default="PREFIX")
This installation option defines the default value of the "home"
configuration option which could be changed after installation with
the "config" sub-command.
--with-nearly-forbidden-days=VALUE
Define the number of days a module is considered nearly forbidden
prior reaching its expiry date. VALUE should be an integer
comprised between 0 and 365. (default="14")
This installation option defines the default value of the
"nearly_forbidden_days" configuration option which could be changed
after installation with the "config" sub-command.
--with-pager=BIN
Name or full path of default pager program to use to paginate
informational message output (can be superseded at run-time by
environment variable) (default="less")
This installation option and "--with-pager-opts" define the default
value of the "pager" configuration option which could be changed
after installation with the "config" sub-command.
--with-pager-opts=OPTLIST
Settings to apply to default pager program (default="-eFKRX")
This installation option and "--with-pager" define the default
value of the "pager" configuration option which could be changed
after installation with the "config" sub-command.
--with-python=BIN
Name or full path of Python interpreter command to set as shebang
for helper scripts. (default="python")
--with-quarantine-vars=<VARNAME[=VALUE] ...>
Environment variables to put in quarantine when running the module
command to ensure it a sane execution environment (each variable
should be separated by space character). A value can eventually be
set to a quarantine variable instead of emptying it. (default=)
This installation option defines the default value of the
"MODULES_RUN_QUARANTINE" and "MODULES_RUNENV_<VAR>" environment
variables which could be changed after installation with the
"config" sub-command on "run_quarantine" configuration option.
--with-search-match=VALUE
When searching for a module with "avail" sub-command, match query
string against module name start ("starts_with") or any part of
module name string ("contains"). (default="starts_with")
This installation option defines the default value of the
"search_match" configuration option which could be changed after
installation with the "config" sub-command.
--with-tag-abbrev=ABBRVLIST
Define the abbreviation to use when reporting each module tag. Each
element in ABBRVLIST is a tag name associated to an abbreviation
string (elements in ABBRVLIST are separated by ":"). (default
="auto-loaded=aL:loaded=L:hidden=H:hidden-loaded=H:forbidden=F
:nearly-forbidden=nF:sticky=S:super-sticky=sS:keep-loaded=kL")
This installation option defines the default value of the
"tag_abbrev" configuration option which could be changed after
installation with the "config" sub-command.
--with-tag-color-name=TAGLIST
Define the tags whose graphical rendering should be applied over
their name instead of over the name of the module they are attached
to. Each element in TAGLIST is a tag name or abbreviation (elements
in TAGLIST are separated by ":"). (default=)
This installation option defines the default value of the
"tag_color_name" configuration option which could be changed after
installation with the "config" sub-command.
--with-tcl
Directory containing the Tcl configuration script "tclConfig.sh".
Useful to compile Modules Tcl extension library if this file cannot
be automatically found in default locations.
--with-tclinclude
Directory containing the Tcl header files. Useful to compile
Modules Tcl extension library if these headers cannot be
automatically found in default locations.
--with-tclsh=BIN
Name or full path of Tcl interpreter shell (default="tclsh")
--with-tcl-linter=BIN
Name or full path of program to use to lint modulefile through the
"lint" sub-command. (default="nagelfar.tcl")
This installation option and "--with-tcl-linter-opts" define the
default value of the "tcl_linter" configuration option which could
be changed after installation with the "config" sub-command.
--with-tcl-linter-opts=OPTLIST
Settings to apply to Tcl linter program (default=)
This installation option and "--with-tcl-linter" define the default
value of the "tcl_linter" configuration option which could be
changed after installation with the "config" sub-command.
--with-terminal-background=VALUE
The terminal background color that determines the color set to
apply by default between the "dark" background colors or the
"light" background colors (default="dark")
This installation option defines the default value of the
"term_background" configuration option which could be changed after
installation with the "config" sub-command.
--with-unload-match-order=VALUE
When unloading a module if multiple loaded modules match the
request, unload module loaded first ("returnfirst") or module
loaded last ("returnlast") (default="returnlast")
This installation option defines the default value of the
"unload_match_order" configuration option which could be changed
after installation with the "config" sub-command.
--with-variant-shortcut=SHORTCUTLIST
Define the shortcut characters that could be used to specify
variant names. Each element in SHORTCUTLIST is a variant name
associated to a shortcut character (e.g., "foo=%"). Shortcuts
cannot exceed a length of 1 character and cannot be alphanumeric
characters ([A-Za-z0-9]) or characters with already a special
meaning ([+~/@=-]). Elements in SHORTCUTLIST are separated by ":".
(default=)
This installation option defines the default value of the
"variant_shortcut" configuration option which could be changed
after installation with the "config" sub-command.
--with-verbosity=VALUE
Specify default message verbosity. accepted values are "silent",
"concise", "normal", "verbose", "verbose2", "trace", "debug" and
"debug2". (default="normal")
This installation option defines the default value of the
"verbosity" configuration option which could be changed after
installation with the "config" sub-command.
--with-zshcompletiondir=DIR
Directory for Zsh completion scripts. When this option is not set
Zsh completion script for Modules is installed in the
initialization script directory and "FPATH" is set in Zsh
initialization script to point to this location. (default=)
Configuration options
=====================
Options available through the "config" sub-command are described
below. In addition to their default value, the related installation
option, environment variable and command-line switch are listed for
each configuration option. This table also describes if each
configuration option needs to be set prior or during Modules
initialization and if it can be modified after installation.
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| Configuration option | Default value | Related installation option, environment | Set prior or | Cannot be |
| | | variable and command-line switch | during | altered |
| | | | initialization | |
|=====================================|================================================|================================================|================|=============|
| "advanced_version_spec" | "1" | "--enable-advanced-version-spec", | | |
| | | "MODULES_ADVANCED_VERSION_SPEC" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "auto_handling" | "1" | "--enable-auto-handling", | | |
| | | "MODULES_AUTO_HANDLING", "--auto", "--no- | | |
| | | auto" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "avail_indepth" | "1" | "--enable-avail-indepth", | | |
| | | "MODULES_AVAIL_INDEPTH", "--indepth", "--no- | | |
| | | indepth" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "avail_output" | modulepath:alias:dirwsym:sym:tag:variantifspe | "--with-avail-output", "MODULES_AVAIL_OUTPUT", | | |
| | c:key | "--output" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "avail_terse_output" | modulepath:alias:dirwsym:sym:tag:variantifspec | "--with-avail-terse-output", | | |
| | | "MODULES_AVAIL_TERSE_OUTPUT", "--output" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "cache_buffer_bytes" | "32768" | "MODULES_CACHE_BUFFER_BYTES" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "cache_expiry_secs" | "0" | "MODULES_CACHE_EXPIRY_SECS" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "collection_pin_version" | "0" | "MODULES_COLLECTION_PIN_VERSION" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "collection_pin_tag" | "0" | "MODULES_COLLECTION_PIN_TAG" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "collection_target" | *Unset by default* | "MODULES_COLLECTION_TARGET" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "color" | "auto" | "--enable-color", "MODULES_COLOR", "--color" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "colors" | hi=1:db=2:tr=2:se=2:er=91:wa=93:me=95:in=94:m | "--with-dark-background-colors", "--with- | | |
| | p=1;94:di=94:al=96:va=93 :sy=95:de=4:cm=92:aL | light-background-colors", "MODULES_COLORS" | | |
| | =100:L=90;47:H=2:F=41:nF=43:S=46:sS=44:kL=30; | | | |
| | 48;5 ;109 | | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "contact" | "root@localhost" | "MODULECONTACT" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "extended_default" | "1" | "--enable-extended-default", | | |
| | | "MODULES_EXTENDED_DEFAULT" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "editor" | "vi" | "--with-editor", "MODULES_EDITOR" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "extra_siteconfig" | *Unset by default* | "MODULES_SITECONFIG" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "home" | "/usr/share/Modules" | "--prefix", "--with-moduleshome", | | |
| | | "MODULESHOME" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "icase" | "search" | "--with-icase", "MODULES_ICASE", "--icase" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "ignore_cache" | "0" | "MODULES_IGNORE_CACHE", "--ignore-cache" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "ignore_user_rc" | "0" | "MODULES_IGNORE_USER_RC", "--ignore-user-rc" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "ignored_dirs" | "CVS RCS SCCS .svn .git .SYNC .sos" | | | X |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "implicit_default" | "1" | "--enable-implicit-default", | | |
| | | "MODULES_IMPLICIT_DEFAULT" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "implicit_requirement" | "1" | "--enable-implicit-requirement", | | |
| | | "MODULES_IMPLICIT_REQUIREMENT" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "list_output" | "header:idx:variant:sym:tag:key" | "--with-list-output", "MODULES_LIST_OUTPUT", " | | |
| | | --output" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "list_terse_output" | "header" | "--with-list-terse-output", | | |
| | | "MODULES_LIST_TERSE_OUTPUT", "--output" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "locked_configs" | *Empty by default* | "--with-locked-configs" | | X |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "mcookie_check" | "always" | "MODULES_MCOOKIE_CHECK" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "mcookie_version_check" | "1" | "--enable-mcookie-version-check", | | |
| | | "MODULES_MCOOKIE_VERSION_CHECK" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "ml" | "1" | "--enable-ml", "MODULES_ML" | X | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "nearly_forbidden_days" | "14" | "--with-nearly-forbidden-days", | | |
| | | "MODULES_NEARLY_FORBIDDEN_DAYS" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "pager" | "less -eFKRX" | "--with-pager", "--with-pager-opts", | | |
| | | "MODULES_PAGER", "--paginate", " --no-pager" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "protected_envvars" | *Unset by default* | "MODULES_PROTECTED_ENVVARS" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "quarantine_support" | "0" | "--enable-quarantine-support", | X | |
| | | "MODULES_QUARANTINE_SUPPORT" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "rcfile" | *Unset by default* | "MODULERCFILE" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "redirect_output" | "1" | "MODULES_REDIRECT_OUTPUT", "--redirect", "-- | | |
| | | no-redirect" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "reset_target_state" | "__init__" | "MODULES_RESET_TARGET_STATE", | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "run_quarantine" | *Empty by default* | "--with-quarantine-vars", | | |
| | | "MODULES_RUN_QUARANTINE" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "search_match" | "starts_with" | "--with-search-match", "MODULES_SEARCH_MATCH", | | |
| | | "--contains", "-- starts-with" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "set_shell_startup" | "0" | "--enable-set-shell-startup", | X | |
| | | "MODULES_SET_SHELL_STARTUP" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "shells_with_ksh_fpath" | *Empty by default* | "MODULES_SHELLS_WITH_KSH_FPATH" | X | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "silent_shell_debug" | "0" | "--enable-silent-shell-debug-support", | X | |
| | | "MODULES_SILENT_SHELL_DEBUG" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "siteconfig" | "/etc/environment-modules/siteconfig.tcl" | "--prefix", "--etcdir" | | X |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "tag_abbrev" | auto-loaded=aL:loaded=L:hidden=H:hidden- | "--with-tag-abbrev", "MODULES_TAG_ABBREV" | | |
| | loaded=H:forbidden=F:nearly- | | | |
| | forbidden=nF:sticky=S:super-sticky=sS:keep- | | | |
| | loaded=kL | | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "tag_color_name" | *Empty by default* | "--with-tag-color-name", | | |
| | | "MODULES_TAG_COLOR_NAME" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "tcl_ext_lib" | "/usr/share/Modules/lib64/libtclenvmodules.so" | | | X |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "tcl_linter" | "nagelfar.tcl" | "--with-tcl-linter", "--with-tcl-linter-opts", | | |
| | | "MODULES_TCL_LINTER" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "term_background" | "dark" | "--with-terminal-background", | | |
| | | "MODULES_TERM_BACKGROUND" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "term_width" | "0" | "MODULES_TERM_WIDTH", "--width" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "unload_match_order" | "returnlast" | "--with-unload-match-order", | | |
| | | "MODULES_UNLOAD_MATCH_ORDER" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "variant_shortcut" | *Empty by default* | "--with-variant-shortcut", | | |
| | | "MODULES_VARIANT_SHORTCUT" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "verbosity" | "normal" | "--with-verbosity", "MODULES_VERBOSITY", "-- | | |
| | | debug", "--silent", "-- trace", "--verbose" | | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "wa_277" | "1" | "--enable-wa-277", "MODULES_WA_277" | X | |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
Zerion Mini Shell 1.0