Skip to content

Latest commit

 

History

History
1509 lines (1064 loc) · 72.8 KB

INSTALL.rst

File metadata and controls

1509 lines (1064 loc) · 72.8 KB

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
  • m4
  • python
  • sphinx >= 1.0
  • gzip

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:

For instance to download then unpack the last release of Modules:

$ curl -LJO $ tar xfz modules-.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<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<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<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<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:

  1. 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.
  2. 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.
  3. 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(s) 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<Modules specific 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(1) reference manual. You may also look at the available setup recipes<cookbook> 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]

html

4.1

--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]

html

4.0

--nagelfardatadir=DIR

Directory to host Nagelfar linter addon files [DATAROOTDIR/nagelfar]

html

5.2

--prefix=PREFIX

Installation root directory [/usr/local/Modules]

--vimdatadir=DIR

Directory to host Vim addon files [DATAROOTDIR/vim/vimfiles]

html

4.3

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-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.

html

4.4

5.0 Configuration option default set to yes

--enable-append-binpath

Append rather prepend binary directory to the PATH environment variable when the --enable-set-binpath option is enabled. (default=no)

html

4.2

--enable-append-manpath

Append rather prepend man page directory to the MANPATH environment variable when the --enable-set-manpath option is enabled. (default=no)

html

4.2

--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.

html

4.2

5.0 Configuration option default set to yes

--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.

html

4.3

--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.

html

4.3

5.0 Configuration option default set to yes

--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)

html

4.0

--enable-example-modulefiles

Install some modulefiles provided as example in the system modulefiles directory defined with the --modulefilesdir option. (default=yes)

html

4.0

--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.

html

4.4

5.0 Configuration option default set to yes

--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.

html

4.3

--enable-implicit-requirement

Implicitly define a prereq or a conflict requirement toward modules specified respectively on module load<module> or module unload<module> 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.

html

4.7

--enable-libtclenvmodules

Build and install the Modules Tcl extension library which provides optimized Tcl commands for the modulecmd.tcl script. (default=yes)

html

4.3

--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.

html

4.7

--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.

html

4.5

--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)

html

4.0

4.3 Option --enable-modulespath added

--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)

html

4.6

--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)

html

5.2

--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 is equivalent to the cumulative use of --with-abort-on-error=load:ml:reload:switch<--with-abort-on-error>. (default=no)

html

4.7

5.0 Configuration option has been reset following major version change as --enable-auto-handling, --enable-color, --with-icase=search<--with-icase>, --enable-extended-default and --enable-advanced-version-spec are set by default on Modules 5.

5.4 Enables abort on error behavior on load and switch sub-commands.

--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.

html

4.1

5.0 Configuration option default set to no

--enable-set-binpath

Prepend binary directory defined by the --bindir option to the PATH environment variable in the shell initialization scripts. (default=yes)

html

4.0

--enable-set-manpath

Prepend man page directory defined by the --mandir option to the MANPATH environment variable in the shell initialization scripts. (default=yes)

html

4.0

--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.

html

4.3

5.0 Configuration option default set to no

--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.

html

4.2

5.0 Configuration option default set to no

--enable-source-cache

Cache content of files evaluated through source(n) Tcl command in modulefile. When same file is sourced multiple times, cached content is reused rather reading file again.

This installation option defines the default value of the source_cache configuration option which could be changed after installation with the config sub-command.

html

5.4

--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-unique-name-loaded

Only allow one module loaded per module name. A conflict is raised when loading a module whose name or alternative names are shared by an already loaded module. (default=no)

This installation option defines the default value of the unique_name_loaded configuration option which could be changed after installation with the config sub-command.

html

5.4

--enable-vim-addons

Install the Vim addon files in the Vim addons directory defined with the --vimdatadir option. (default=yes)

html

4.3

--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.

html

4.3

--enable-windows-support

Install all required files for Windows platform (module, ml and envml command batch file and cmd.cmd initialization script). (default=no)

html

4.5

Optional Packages (the default for each option is displayed within parenthesis, to disable an option replace with by without for instance --without-modulepath<--with-modulepath>):

--with-abort-on-error=LIST

When evaluating multiple modulefiles, if one fails abort evaluation sequence and withdraw already evaluated modulefiles for listed module sub-commands. Sub-commands accepted in LIST are: load, ml, mod-to-sh, purge, reload, switch, switch_unload<switch>, try-load and unload (elements in LIST are separated by :). (default=ml:reload:switch_unload)

This installation option defines the default value of the abort_on_error configuration option which could be changed after installation with the config sub-command.

html

5.4

--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, indesym, 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.

html

4.7

5.3 Element variant added

5.3 Element variantifspec added and set by default

5.3.1 Element indesym added

--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, indesym, 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.

html

4.7

5.3 Element variant added

5.3 Element variantifspec added and set by default

5.3.1 Element indesym added

--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=)

html

5.1

--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)

html

4.2

--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/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters. (default=hi=1:db=2:tr=2:se=2:er=91:wa=93:me=95:in=94:mp=1;94:di=94:al=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.

html

4.3

4.6 Output item for trace information (tr) added

4.7 Output items for module tags auto-loaded (aL), forbidden (F), hidden and hidden-loaded (H), loaded (L), nearly-forbidden (nF), sticky (S) and super-sticky (sS) added

4.8 Output item for module variant (va) added

5.1 Output item for keep-loaded module tag (kL) added

--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.

html

4.8

--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=)

html

5.1

--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.

html

4.4

5.0 Configuration option default set to search

--with-initconf-in=VALUE

Location where to install Modules initialization configuration files. Either initdir or etcdir (default=etcdir)

html

4.1

5.0 Configuration option default set to 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=35: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.

html

4.3

4.6 Output item for trace information (tr) added

4.7 Output items for module tags auto-loaded (aL), forbidden (F), hidden and hidden-loaded (H), loaded (L), nearly-forbidden (nF), sticky (S) and super-sticky (sS) added

4.8 Output item for module variant (va) added

5.1 Output item for keep-loaded module tag (kL) added

--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, alias, indesym, 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.

html

4.7

4.8 Element variant added and set by default

5.4 Elements alias and indesym added

--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, alias, indesym, 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.

html

4.7

4.8 Element variant added

5.4 Elements alias and indesym added

--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=)

html

4.0

--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.

html

4.3

--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)

html

4.0

--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.

html

4.4

--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.

html

4.6

--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.

html

4.1

--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.

html

4.1

--with-python=BIN

Name or full path of Python interpreter command to set as shebang for helper scripts. (default=python)

html

4.5

--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.

html

4.1

--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.

html

4.3

--with-sticky-purge=VALUE

When unloading a sticky or super-sticky module during a module purge, raise an error or emit a warning message or be silent. (default=error)

This installation option defines the default value of the sticky_purge configuration option which could be changed after installation with the config sub-command.

html

5.4

--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.

html

4.7

5.1 Abbreviation for keep-loaded tag added

--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.

html

4.7

--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)

html

4.0

--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.

html

5.2

--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.

html

5.2

--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.

html

4.3

--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.

html

4.3

--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.

html

4.8

--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.

html

4.3

--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=)

html

5.1

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 variable and command-line switch Set prior or during initialization Cannot be altered
abort_on_error ml:reload:switch_unload --with-abort-on-error, MODULES_ABORT_ON_ERROR
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:\ variantifspec:key --with-avail-output, MODULES_AVAIL_OUTPUT, --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:mp=1;94:di=94:al=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 --with-dark-background-colors, --with-light-background-colors, MODULES_COLORS
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 --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, MODULES_QUARANTINE_SUPPORT X
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, MODULES_SET_SHELL_STARTUP X
shells_with_ksh_fpath Empty by default MODULES_SHELLS_WITH_KSH_FPATH X
silent_shell_debug 0 :instopt:`--enable-silent-shell-debug-support`, MODULES_SILENT_SHELL_DEBUG X
siteconfig --prefix, --etcdir X
source_cache 0 --enable-source-cache, MODULES_SOURCE_CACHE
sticky_purge error --with-sticky-purge, MODULES_STICKY_PURGE
tag_abbrev auto-loaded=aL:loaded=L:hidden=H:hidden-loaded=H:forbidden=F:nearly-forbidden=nF:sticky=S:super-sticky=sS:keep-loaded=kL --with-tag-abbrev, MODULES_TAG_ABBREV
tag_color_name Empty by default --with-tag-color-name, MODULES_TAG_COLOR_NAME
tcl_ext_lib 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
unique_name_loaded 0 --enable-unique-name-loaded, MODULES_UNIQUE_NAME_LOADED
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