Skip to content

Latest commit

 

History

History
79 lines (52 loc) · 2.26 KB

unload-firstly-loaded.rst

File metadata and controls

79 lines (52 loc) · 2.26 KB

Unload firstly loaded module matching name

Since Modules v4, unloading a given module name unloads lastly loaded module matching this given name. On Modules v3 the module selected for the unload was the firstly loaded not the lastly loaded. This recipe gives a way to restore the behavior of the v3 version.

Implementation

Starting version v4.3, an unload_match_order configuration option is introduced to control whether firstly loaded module or lastly loaded module should be selected for the unload. To select firstly loaded module:

$ module config unload_match_order returnfirst

For older v4 versions, a site-specific configuration script is proposed to select firstly loaded module matching name rather lastly loaded.

../../example/unload-firstly-loaded/siteconfig.tcl

Compatible with Modules v4.2

Installation (only for version older than v4.3)

Create site-specific configuration directory if it does not exist yet:

$ mkdir

Then copy there the site-specific configuration script of this recipe:

$ cp example/unload-firstly-loaded/siteconfig.tcl /

Note

Defined location for the site-specific configuration script may vary from one installation to another. To determine the expected location for this file on your setup, check the modulecmd.tcl script:

$ grep '^set g_siteconfig ' $MODULES_CMD

Usage example

With a bare foo/1 modulefile:

../../example/unload-firstly-loaded/modulefiles/foo/1

And a bare foo/2 modulefile:

../../example/unload-firstly-loaded/modulefiles/foo/2

Enable the modulepath where the example modulefiles are located:

$ module use example/unload-firstly-loaded/modulefiles

Load both foo modulefiles then attempt to unload foo name:

$ module load foo/1 foo/2
$ module list
Currently Loaded Modulefiles:
 1) foo/1   2) foo/2
$ module unload foo
$ module list
Currently Loaded Modulefiles:
 1) foo/2