urn:noticeable:projects:cbzeG7wTvAIqj21zbUmxEnvironment Modules Updatescea-hpc.github.io/modules2019-07-08T18:17:47.774ZCopyright © Environment ModulesNoticeablehttps://storage.noticeable.io/projects/cbzeG7wTvAIqj21zbUmx/newspages/UPOFxJbXsysxyt1L7iHB/01h55ta3gsp13j52cdnky8js2v-header-logo.pnghttps://storage.noticeable.io/projects/cbzeG7wTvAIqj21zbUmx/newspages/UPOFxJbXsysxyt1L7iHB/01h55ta3gsp13j52cdnky8js2v-header-logo.png#b70e0burn:noticeable:publications:60IgMIIrxSqDYUR2mQiM2019-07-08T18:15:00.001Z2019-07-08T18:17:47.774ZModules 4.2.5 releasedModules version 4.2.5 has just been released. This new release provides fixes for the issues found recently on the 4.2 serie. The changes introduced in this bugfix release are: Correctly escape `?` character in shell alias. (fix issue...<p>Modules version 4.2.5 has just been released. This new release provides fixes for the issues found recently on the 4.2 serie.</p> <p>The changes introduced in this bugfix release are:</p> <ul> <li>Correctly escape <code>?</code> character in shell alias. (fix issue #275)</li> <li>When resolving the enabled list of modulepaths, ensure resolved path entries are unique. (fix issue #274)</li> <li>Right trim ‘#’ characters from the fetched modulefile magic cookie string to ensure a correct compatibility version comparison. Useful when modulefile first line is equal to <code>#%Module4.2##############</code>.</li> <li>Fix argument parsing for the <code>append-path</code>, <code>prepend-path</code> and <code>remove-path</code> modulefile commands to consider every arguments found after the variable name as variable values and not command option even if argument starts with <code>-</code> character. (fix issue #278)</li> <li>Fix automatic loading of modulefiles when multiple module names are set on a single <code>module load</code> modulefile command. When auto_handling mode was disabled, the load of not loaded modules was not achieved as soon as some modules on this list were already loaded. (fix issue #281)</li> </ul> <p>The list of all changes made in this new version are described in the NEWS document. Details on the new features introduced in the 4.2 series are provided in the MIGRATING document.</p> <p><a href="http://modules.readthedocs.io/en/stable/NEWS.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-5-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.60IgMIIrxSqDYUR2mQiM&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/NEWS.html</a><br> <a href="http://modules.readthedocs.io/en/stable/MIGRATING.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-5-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.60IgMIIrxSqDYUR2mQiM&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/MIGRATING.html</a></p> <p>The tarball of this new version can be downloaded at:</p> <p><a href="http://downloads.sourceforge.net/modules/modules-4.2.5.tar.gz?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-5-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.60IgMIIrxSqDYUR2mQiM&amp;utm_medium=newspage" target="_blank" rel="noopener">http://downloads.sourceforge.net/modules/modules-4.2.5.tar.gz</a></p> <p>If you encounter any issue, please let us know by creating a ticket on<br> the project bug tracker at:</p> <p><a href="https://github.com/cea-hpc/modules/issues?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-5-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.60IgMIIrxSqDYUR2mQiM&amp;utm_medium=newspage" target="_blank" rel="noopener">https://github.com/cea-hpc/modules/issues</a></p> Xavier Delaruelle[email protected]urn:noticeable:publications:i8fIBBUL8ZHZHDHnCSQS2019-04-28T12:48:00.001Z2019-05-21T07:37:14.493ZEnd of 4.2 strengthening work, road to 4.3Version 4.2 of Modules was released in October last year with new capabilities to automatically handle dependencies between modulefiles. With these new automated mechanisms, corner cases were found which led to a more substantial bugfix...<p>Version 4.2 of Modules was released in October last year with new capabilities to <a href="https://timeline.noticeable.io/cbzeG7wTvAIqj21zbUmx/posts/automated-module-handling-mode?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.end-of-4-2-strengthening-work-road-to-4-3&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.i8fIBBUL8ZHZHDHnCSQS&amp;utm_medium=newspage" target="_blank" rel="noopener">automatically handle dependencies between modulefiles</a>. With these new automated mechanisms, corner cases were found which led to a more substantial bugfix work than initially expected.</p> <p>After 4 bugfix releases, with a specific focus on error management (v4.2.3) and on warning/error/informational message report (v4.2.4), I consider the work on this v4.2 branch over.</p> <p>Of course there are still things to improve, but I consider the remaining stuff to work on as new features like the introduction of additional automated mechanisms (<em>Conflict Unload</em>, etc).</p> <p>If you encounter strange situation with v4.2.4, feel free to report them here or directly on the <a href="https://github.com/cea-hpc/modules/issues?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.end-of-4-2-strengthening-work-road-to-4-3&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.i8fIBBUL8ZHZHDHnCSQS&amp;utm_medium=newspage" target="_blank" rel="noopener">bug tracker</a>.</p> <p>On my side, I am happy to re-start the work on <a href="https://github.com/cea-hpc/modules/milestone/5?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.end-of-4-2-strengthening-work-road-to-4-3&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.i8fIBBUL8ZHZHDHnCSQS&amp;utm_medium=newspage" target="_blank" rel="noopener">v4.3</a>. I will progressively disclose here the new features that will be part of it. Hope to roll out this release at the beginning of summer. Stay tuned.</p> Xavier Delaruelle[email protected]urn:noticeable:publications:oTogBiQZVvSUGdu1ygbi2019-04-26T12:01:00.001Z2019-05-21T07:37:54.120ZModules 4.2.4 releasedModules version 4.2.4 has just been released. This new release in the 4.2 series has a specific focus on improving the readability of the warning, error and informational messages reported when multiple load or unload modulefile...<p>Modules version 4.2.4 has just been released. This new release in the 4.2 series has a specific focus on improving the readability of the warning, error and informational messages reported when multiple load or unload modulefile evaluations are performed in a row.</p> <p>The changes introduced in this bugfix release are:</p> <ul> <li>Better track each module evaluation and the context associated to it in order to report a more accurate information on the additional modules loaded or unloaded when proceeding the main evaluation request. (fix issue #244, #245, #246, #247 and #248)</li> <li>Doc: preserve quotes and dashes when making HTML docs. (fix issue #250 with contribution from Riccardo Coccioli)</li> <li>Fix hanging <code>list</code> sub-command when terminal width is equal to the single column text width to be printed. (contribution from Jesper Dahlberg)</li> <li>During an additional evaluation triggered by an automated module handling mechanism, ensure warning and error messages are reported under the message block of the main evaluation. (fix issue #252)</li> <li>During the unload of a module when the automated module handling mode is disabled, report a warning message for each unload of a useless requirement that fails as done when the automated module handling mode is enabled. (fix issue #253)</li> <li>When multiple modules are listed on a <code>prereq</code> command, drop the output of those modules that fails to load (by the <em>Requirement Load</em> automated mechanism) to only keep the output of the module whose load succeed. (fix issue #254)</li> <li>Fix <code>switch</code> sub-command when the switched-off module cannot be unloaded when other loaded modules depend on it. Whole switch process is failed and no load of the switched-on module is attempted. (fix issue #251)</li> <li>When switching modules, report failure of switched-off module unload or switched-on module load under the message block of the switch action. A failed switched-off module unload is reported as an error, as it aborts the switch evaluation, whereas a failed switched-on module load is reported as a warning. (fix issue #255)</li> <li>When a module requirement is seen missing but the load of this module was attempted, report a more specific error or warning message to let user understand that the load of the requirement was attempted but failed. (fix issue #257)</li> <li>When loading a module, report any missing requirement on the message reporting block corresponding to this module load. This warning or error message comes in addition to the eventual <em>Requirement Load</em> message reported under the message block of the main evaluation. (fix issue #258)</li> <li>When unloading a module which has some dependent module still loaded, produce a more specific error or warning message if an evaluation of these dependent modules has been realized or if the unload of the required module is forced. (fix issue #259)</li> <li>When a conflicting module is seen loaded but the unload of this module was attempted, report a <em>Conflict Unload</em> error or warning message toward the main evaluation message block. (fix issue #261)</li> <li>When loading a module, report any loaded conflict on the message reporting block corresponding to this module load. This warning or error message comes in addition to the eventual <em>Conflict Unload</em> message reported under the message block of the main evaluation. (fix issue #261)</li> <li>Correctly report loading state of conflicting module. (fix issue #262)</li> <li>Adapt warning, error and info messages relative to the <em>Dependent Reload</em> mechanism to distinguish the unload phase from the load (reload) phase of this mechanism. In the automated module handling summary report, unloaded modules via this mechanism are reported in the <em>Unloading dependent</em> list and modules reloaded afterward are reported against the <em>Reloading dependent</em> list. (fix issue #263)</li> <li>When the automated module handling mode is disabled, do not attempt to load a requirement expressed in a modulefile with a <code>module load</code> command, if this requirement is already loaded or loading.</li> <li>Skip load or unload evaluation of a module whose respectively load or unload was already attempted but failed. If this second evaluation attempt occurs within the same main evaluation frame. (fix issue #264)</li> <li>When reloading modules through the <em>Dependent Reload</em> automated mechanism, prevent modules to automatically load of other modules with the <code>module load</code> modulefile command, as it is done for the <code>prereq</code> command. (fix issue #265)</li> <li>Raise an error when an invalid option is set on <code>append-path</code>, <code>prepend-path</code> or <code>remove-path</code> modulefile command. (fix issue #249)</li> <li>Zsh initializes by default the <code>MANPATH</code> environment variable to an empty value when it starts. To preserve <code>manpath</code> system configuration even after addition to this variable by modulefiles, set <code>MANPATH</code> variable to <code>:</code> if found empty. (improve fix for issue #224)</li> <li>Doc: provide a short installation guideline in README file. (fix issue #230)</li> </ul> <p>The list of all changes made in this new version are described in the NEWS document. Details on the new features introduced in the 4.2 series are provided in the MIGRATING document.</p> <p><a href="http://modules.readthedocs.io/en/stable/NEWS.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-4-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.oTogBiQZVvSUGdu1ygbi&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/NEWS.html</a><br> <a href="http://modules.readthedocs.io/en/stable/MIGRATING.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-4-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.oTogBiQZVvSUGdu1ygbi&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/MIGRATING.html</a></p> <p>The tarball of this new version can be downloaded at:</p> <p><a href="http://downloads.sourceforge.net/modules/modules-4.2.4.tar.gz?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-4-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.oTogBiQZVvSUGdu1ygbi&amp;utm_medium=newspage" target="_blank" rel="noopener">http://downloads.sourceforge.net/modules/modules-4.2.4.tar.gz</a></p> <p>If you encounter any issue, please let us know by creating a ticket on the project bug tracker at:</p> <p><a href="https://github.com/cea-hpc/modules/issues?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-4-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.oTogBiQZVvSUGdu1ygbi&amp;utm_medium=newspage" target="_blank" rel="noopener">https://github.com/cea-hpc/modules/issues</a></p> Xavier Delaruelle[email protected]urn:noticeable:publications:hSLJ2r4ufZj93xhXiO9x2019-03-23T13:11:00.001Z2019-05-13T05:58:57.533ZModules 4.2.3 releasedModules version 4.2.3 has just been released. This new release in the 4.2 series has a specific focus on error management. When the evaluation of a modulefile fails during an automated module handling mechanisms everything is now done to...<p>Modules version 4.2.3 has just been released. This new release in the 4.2 series has a specific focus on error management. When the evaluation of a modulefile fails during an automated module handling mechanisms everything is now done to get or to keep at the end of all evaluations a consistent environment.</p> <p>The changes introduced in this bugfix release are:</p> <ul> <li>Add all the module dependency-related internal information to those saved prior a modulefile evaluation in order to correctly restore internal state in case modulefile evaluation fails.</li> <li>Init: in shell initialization scripts, initialize <code>MANPATH</code> if not set with a value that preserves <code>manpath</code> system configuration even after addition of paths to this variable by modulefiles. (fix issue#224)</li> <li>Enable to define an entire path entry to the <code>MODULEPATH</code> variable which corresponds to a variable reference only. (fix issue#223)</li> <li>Cookbook: add the <em>modulefiles-in-git</em> recipe. (contribution from Scott Johnson)</li> <li>When <code>module switch</code> commands are found in modulefiles, track switched-off modulefile as a conflict and switched-to modulefile as a requirement to apply same behaviors than for <code>module load</code> and <code>module unload</code> commands in modulefiles. If <code>module switch</code> has only one argument, do not define a conflict toward switched-off modulefile. <em>CAUTION: it is not recommended to use <code>module switch</code> command in modulefiles</em>. (fix issue#229)</li> <li>When unloading a module, revert <code>module switch</code> commands found in modulefile: switched-on module is converted to a <code>module unload</code>, like for <code>module load</code> command. Nothing is done for switched-off module, like for <code>module unload</code> command. (fix issue#226)</li> <li>For default element in a modulefile directory which is a module alias that points to a modulefile, when this modulefile is loaded, it receives as alternative names the eventual module aliases set on the distant directory holding the alias pointing to it. (fix issue#231)</li> <li>When unloading a module that contains <code>module load</code> or <code>module switch</code> commands in its modulefile, select for unload the automatically loaded requirement module which has been loaded prior its dependent. (fix issue#232)</li> <li>Doc: describe Emacs settings useful for adhering to coding conventions in CONTRIBUTING guide. (fix issue#233 with contribution from Ben Bowers)</li> <li>When looking for a loaded or loading dependency requirement, select among the eventual multiple candidates the closest match to the dependent module.</li> <li>During the unload of a module, if the unload of one of its dependent (by the <em>Dependent Unload</em> mechanism) fails, abort the whole unload process. Exception made if the force mode is enabled. In this case failing module stays loaded and the <em>Dependent Unload</em> mechanism continues with next module to unload.</li> <li>During the unload of a module, if the unload of one of its useless requirements (by the <em>Useless Requirement Unload</em> mechanism) fails, keep the requirements of this failing module loaded. Such error is reported as a warning and it does not stop the whole unload process. (fix issue#240)</li> <li>During the load or the unload of a module, if the unload of one of its dependent (by the <em>Dependent Reload</em> mechanism) fails, abort the whole unload or load process. Exception made if the force mode is enabled. In this case failing module stays loaded and <em>Dependent Reload</em> mechanism continues with next module to unload. This failing module is removed from the <em>Dependent Reload</em> list, so it will not take part of the load phrase of the mechanism. (fix issue#239)</li> <li>During the load or the unload of a module, if the load of one of its dependent (by the <em>Dependent Reload</em> mechanism) fails, abort the whole unload or load process. Exception made if the force mode is enabled. In this case failing module stays loaded and <em>Dependent Reload</em> mechanism continues with next module to load. When the mechanism is applied during a <code>switch</code> command, force mode is enabled by default on the load phase. (fix issue#241)</li> <li>When reloading all loaded modules with the <code>reload</code> sub-command, if one reloading module fails to unload or load, abort the whole reload process to preserve environment sanity. (fix issue#237)</li> <li>During the unload of a module when the automated module handling mode is disabled and this module declares its requirements with the <code>module load</code> modulefile command. If the unload of one of its useless requirements (by the <em>Useless Requirement Unload</em> mechanism) fails, whole unload process is not aborted and continue with next module to unload. (fix issue#238)</li> <li>Contrib: add <code>mtreview</code> utility script that analyzes test suite log file to compare actual and expected output of failed test. <code>mt</code> does not output the full test suite logs anymore but only the information produced by <code>mtreview</code> on failed tests.</li> <li>Install: exclude Continuous Integration configurations from dist tarballs.</li> </ul> <p>The list of all changes made in this new version are described in the NEWS document. Details on the new features introduced in the 4.2 series are provided in the MIGRATING document.</p> <p><a href="http://modules.readthedocs.io/en/stable/NEWS.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-3-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.hSLJ2r4ufZj93xhXiO9x&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/NEWS.html</a><br> <a href="http://modules.readthedocs.io/en/stable/MIGRATING.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-3-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.hSLJ2r4ufZj93xhXiO9x&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/MIGRATING.html</a></p> <p>The tarball of this new version can be downloaded at:</p> <p><a href="http://downloads.sourceforge.net/modules/modules-4.2.3.tar.gz?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-3-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.hSLJ2r4ufZj93xhXiO9x&amp;utm_medium=newspage" target="_blank" rel="noopener">http://downloads.sourceforge.net/modules/modules-4.2.3.tar.gz</a></p> <p>If you encounter any issue, please let us know by creating a ticket on<br> the project bug tracker at:</p> <p><a href="https://github.com/cea-hpc/modules/issues?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-3-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.hSLJ2r4ufZj93xhXiO9x&amp;utm_medium=newspage" target="_blank" rel="noopener">https://github.com/cea-hpc/modules/issues</a></p> Xavier Delaruelle[email protected]urn:noticeable:publications:MjRWE1WlQLjLIz02CeA02019-02-18T04:25:00.001Z2019-05-13T05:03:57.543ZModules 4.2.2 releasedModules version 4.2.2 has just been released. This is a bugfix release in the 4.2 series. Fixes are: Correct the Dependent Unload mechanism when it triggers the unload of 2 modules making together a requirement from another module. This...<p>Modules version 4.2.2 has just been released. This is a bugfix release in the 4.2 series. Fixes are:</p> <ul> <li>Correct the <em>Dependent Unload</em> mechanism when it triggers the unload of 2 modules making together a requirement from another module. This module is now also added to the dependent modules to unload.</li> <li>Doc: add a cookbook section in the documentation and port there the 3 pre-existing recipes: <em>inhibit-report-info</em>, <em>top-priority-values</em> and <em>unload-firstly-loaded</em>.</li> <li>Doc: add a CONTRIBUTING guide.</li> <li>Doc: fix a typo on the Python initialization example in module man page.</li> <li>Doc: add a FAQ entry to describe the use of module from Makefile. (with contribution from Robert McLay)</li> <li>Trim any white-space, newline or <code>;</code> characters at the beginning or end of the function body passed to set-function modulefile command.</li> <li>Init: add recognition of the <code>--auto</code>, <code>--no-auto</code> and <code>--force</code> command-line switches in fish shell completion script.</li> <li>Init: add recognition of the <code>--auto</code>, <code>--no-auto</code>, <code>--force</code>, <code>--paginate</code> and <code>--no-pager</code> command-line switches in zsh shell completion script.</li> <li>When the load of a modulefile is asked but a conflict is registered against this modulefile by an already loaded module, the load evaluation is now performed and the conflict is checked after this evaluation. If the conflict is still there, this evaluation (and the evaluation of its requirements) is rolled back. This gives the opportunity to solve this conflict by using <code>module unload</code> modulefile command. (fix issue#216)</li> <li>Init: fix <code>_module_not_yet_loaded</code> alias in tcsh completion script to handle situation when <code>noclobber</code> variable is set. Also ensure actual <code>rm</code> command is called and not an alias. (fix issue#219)</li> <li>Fix warning message when the load of a modulefile is forced over a reflexive conflict (message was reported twice).</li> <li>When looking at the dependency of a loaded module, only consider requirement loaded before dependent module (holding a prior position in the loaded module list) as valid. Those loaded after dependent module are considered as an unmet dependency thus they are not taking part in the <em>Dependent Unload</em>, the <em>Useless Requirement Unload</em> and the <em>Dependent Reload</em> mechanisms.</li> </ul> <p>The list of all changes made in this new version are described in the NEWS document. Details on the new features introduced in the 4.2 series are provided in the MIGRATING document.</p> <p><a href="http://modules.readthedocs.io/en/stable/NEWS.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-2-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.MjRWE1WlQLjLIz02CeA0&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/NEWS.html</a><br> <a href="http://modules.readthedocs.io/en/stable/MIGRATING.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-2-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.MjRWE1WlQLjLIz02CeA0&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/MIGRATING.html</a></p> <p>The tarball of this new version can be downloaded at:</p> <p><a href="http://downloads.sourceforge.net/modules/modules-4.2.2.tar.gz?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-2-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.MjRWE1WlQLjLIz02CeA0&amp;utm_medium=newspage" target="_blank" rel="noopener">http://downloads.sourceforge.net/modules/modules-4.2.2.tar.gz</a></p> <p>If you encounter any issue, please let us know by creating a ticket on the project bug tracker at:</p> <p><a href="https://github.com/cea-hpc/modules/issues?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-2-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.MjRWE1WlQLjLIz02CeA0&amp;utm_medium=newspage" target="_blank" rel="noopener">https://github.com/cea-hpc/modules/issues</a></p> Xavier Delaruelle[email protected]urn:noticeable:publications:V1TeXMXEs93gPzSaYqNo2018-11-12T00:08:00.001Z2019-05-13T05:01:30.951ZModules 4.2.1 releasedModules version 4.2.1 has just been released. This is a bugfix release in the 4.2 series. Fixes are: Cookbook: add the inhibit-report-info recipe. Cookbook: port unload-firstly-loaded and top-priority-values recipes to v4.2. Init: fix...<p>Modules version 4.2.1 has just been released. This is a bugfix release in the 4.2 series. Fixes are:</p> <ul> <li>Cookbook: add the <em>inhibit-report-info</em> recipe.</li> <li>Cookbook: port <em>unload-firstly-loaded</em> and <em>top-priority-values</em> recipes to v4.2.</li> <li>Init: fix listing of loaded modules for <em>fish</em> and <em>tcsh</em> shell completions.</li> <li>Init: fix saved collection listing when no collection found for <em>bash</em>, <em>zsh</em>, <em>tcsh</em> and <em>fish</em> shell completions.</li> <li>Adapt <code>system</code> modulefile Tcl command to execute the command passed as argument through shell, like it is performed on compatibility version. (fix issue#205)</li> <li>Correctly filter modulefile search memory cache entries when using a full search result to search later on a specific modulefile.</li> <li>Prefix debug messages by information on the current modulefile or modulerc interpreter if any.</li> <li>Init: fix listing of loaded modules on unload and switch sub-commands for <em>bash</em> shell completion.</li> <li>Refrain <code>module unload</code> modulefile command from unloading a module required by another loading module.</li> <li>Enable <code>is-loaded</code> modulefile Tcl command in modulerc interpretation context, like done on compatibility version. (fix issue#207)</li> <li>Check a required module is not already loading before attempting to load it. Helps to handle cyclic dependencies.</li> <li>Compute loaded modules requirement dependency relations without cycle and consider the module closing the cycle in a constraint violation state to avoid reloading loops on the <em>Dependent Reload</em> mechanism.</li> <li>Safely unset dependency reference when computing dependency relations as some dependencies expressed may target same module.</li> <li>Ensure a loaded module matching multiple entries of a same <em>or</em> <code>prereq</code> will just be considered as one module matching this requirement.</li> <li>Init: quote prompt in <em>csh</em> and <em>tcsh</em> script with <code>:q</code> rather double-quotes to accommodate prompts with embedded newlines. (fix issue#209 with contribution from Satya Mishra)</li> <li>Init: skip shell environment alteration if <code>autoinit</code> command fails. (fix issue#208)</li> <li>Reword path-like variable element counter reference handling to simply ignore the counter values not coherent with the content of related path-like variable. (fix issue#206)</li> </ul> <p>The list of all changes made in this new version are described in the NEWS document. Details on the new features introduced in the 4.2 series are provided in the MIGRATING document.</p> <p><a href="http://modules.readthedocs.io/en/stable/NEWS.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-1-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.V1TeXMXEs93gPzSaYqNo&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/NEWS.html</a><br> <a href="http://modules.readthedocs.io/en/stable/MIGRATING.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-1-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.V1TeXMXEs93gPzSaYqNo&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/MIGRATING.html</a></p> <p>The tarball of this new version can be downloaded at:</p> <p><a href="http://downloads.sourceforge.net/modules/modules-4.2.1.tar.gz?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-1-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.V1TeXMXEs93gPzSaYqNo&amp;utm_medium=newspage" target="_blank" rel="noopener">http://downloads.sourceforge.net/modules/modules-4.2.1.tar.gz</a></p> <p>If you encounter any issue, please let us know by creating a ticket on the project bug tracker at:</p> <p><a href="https://github.com/cea-hpc/modules/issues?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-1-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.V1TeXMXEs93gPzSaYqNo&amp;utm_medium=newspage" target="_blank" rel="noopener">https://github.com/cea-hpc/modules/issues</a></p> Xavier Delaruelle[email protected]urn:noticeable:publications:KLVpVyaaIDnxgAgWuIAH2018-10-18T05:34:00.001Z2019-05-13T05:02:17.582ZModules 4.2.0 releasedAfter 6 months of development, it is a my great pleasure to announce the release of Modules version 4.2.0. This new version brings a specific focus on the dependency management between modulefiles with a push forward consistency and...<p>After 6 months of development, it is a my great pleasure to announce the release of Modules version 4.2.0.</p> <p>This new version brings a specific focus on the dependency management between modulefiles with a push forward consistency and automation. It is backward-compatible with previous version 4 releases and primarily adds a bunch of new features and fixes some bugs. Major new features introduced in v4.2.0 since v4.1.4 are:</p> <ul> <li>Modulefile conflict constraints consistency</li> <li>Modulefile prereq constraints consistency</li> <li>By-passing module defined constraints</li> <li>Automated module handling mode</li> <li>Consistency of module load/unload commands in modulefile</li> <li>Modulefile alias and symbolic modulefile name consistency</li> <li>Environment variable change through modulefile evaluation context</li> <li>Express Modules compatibility of modulefile with versioned magic<br> cookie</li> <li>Improved module message report</li> <li>New modulefile commands<br> set-function, unset-function</li> </ul> <p>Details on these new features are provided in the MIGRATING document. The list of all changes made in this new version are described in the NEWS document.</p> <p><a href="http://modules.readthedocs.io/en/stable/MIGRATING.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-0-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.KLVpVyaaIDnxgAgWuIAH&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/MIGRATING.html</a><br> <a href="http://modules.readthedocs.io/en/stable/NEWS.html?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-0-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.KLVpVyaaIDnxgAgWuIAH&amp;utm_medium=newspage" target="_blank" rel="noopener">http://modules.readthedocs.io/en/stable/NEWS.html</a></p> <p>The tarball of this new version can be downloaded at:</p> <p><a href="http://downloads.sourceforge.net/modules/modules-4.2.0.tar.gz?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-0-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.KLVpVyaaIDnxgAgWuIAH&amp;utm_medium=newspage" target="_blank" rel="noopener">http://downloads.sourceforge.net/modules/modules-4.2.0.tar.gz</a></p> <p>If you encounter any issue, please let us know by creating a ticket on the project bug tracker at:</p> <p><a href="https://github.com/cea-hpc/modules/issues?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.modules-4-2-0-released&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.KLVpVyaaIDnxgAgWuIAH&amp;utm_medium=newspage" target="_blank" rel="noopener">https://github.com/cea-hpc/modules/issues</a></p> Xavier Delaruelle[email protected]urn:noticeable:publications:ZBRI1Z42N3jNFY1zdp5y2018-10-12T06:03:00.001Z2019-05-13T04:47:14.448ZImproved module message reportModule sub-commands like load, unload or switch, may perform multiple load or unload modulefile evaluations in a row. Also these kind of evaluation modes may sometimes trigger additional load or unload evaluations, when for instance a...<p>Module sub-commands like <code>load</code>, <code>unload</code> or <code>switch</code>, may perform multiple load or unload modulefile evaluations in a row. Also these kind of evaluation modes may sometimes trigger additional load or unload evaluations, when for instance a modulefile contains a <code>module load</code> command.</p> <p>To improve the readability of the module messages produced relatively to a load or an unload evaluation, these messages are now stacked under a <em>Loading</em> or an <em>Unloading</em> message block that gathers all the messages produced for a given modulefile evaluation:</p> <pre><code>$ module load --no-auto foo Loading foo/1.2 ERROR: foo/1.2 cannot be loaded due to missing prereq. HINT: the following module must be loaded first: bar/4.5 </code></pre> <p>In addition, foreground <code>load</code>, <code>unload</code>, <code>switch</code> and <code>restore</code> actions (ie. asked on the command-line) now report a summary of the additional load and unload evaluations that were eventually triggered in the process:</p> <pre><code>$ module load --auto foo Loading foo/1.2 Loading requirement: bar/4.5 </code></pre> <p>This change is available in git repository and was the last addition to the imminent v4.2 release.</p> Xavier Delaruelle[email protected]urn:noticeable:publications:sNWVdtzJGf3uku9rlwBa2018-09-23T20:21:00.001Z2019-05-13T04:42:59.362ZConsistency of module load/unload commands in modulefileWith the module load modulefile command, a given modulefile can automatically load a modulefile it pre-requires. Similarly with the module unload modulefile command, a given modulefile can automatically unload a modulefile it conflicts...<p>With the <em>module load</em> modulefile command, a given modulefile can automatically load a modulefile it pre-requires. Similarly with the <em>module unload</em> modulefile command, a given modulefile can automatically unload a modulefile it conflicts with.</p> <p>Both commands imply additional actions on the loaded environment (loading or unloading extra modulefiles) that should cope with the constraints defined by the loaded environment.</p> <p>Additionally <em>module load</em> and <em>module unload</em> modulefile commands express themselves constraints on loaded environment that should stay satisfied to ensure consistency.</p> <p>To ensure the consistency of <em>module load</em> modulefile command once the modulefile defining it has been loaded, this command is assimilated to a <em>prereq</em> command. Thus the defined constraint is recorded in the <code>MODULES_LMPREREQ</code> environment variable. Same approach is used for <em>module unload</em> modulefile command which is assimilated to a <em>conflict</em> command. Thus the defined constraint is recorded in the <code>MODULES_LMCONFLICT</code> environment variable.</p> <p>To ensure the consistency of the loaded environment, the additional actions of the <em>module load</em> and <em>module unload</em> modulefile commands have been adapted in particular situations:</p> <ul> <li><p>When unloading modulefile, <em>module load</em> command will unload the modulefile it targets only if no other loaded modulefile requires it and if this target has not been explicitly loaded by user.</p></li> <li><p>When unloading modulefile, <em>module unload</em> command does nothing as the relative conflict registered at load time ensure environment consistency and will forbid conflicting modulefile load.</p></li> </ul> <p>Please note that loading and unloading results may differ than from previous Modules version now that consistency is checked:</p> <ul> <li><p>Modulefile targeted by a <em>module load</em> modulefile command may not be able to load due to a registered conflict in the currently loaded environment. Which in turn will break the load of the modulefile declaring the <em>module load</em> command.</p></li> <li><p>Modulefile targeted by a <em>module unload</em> modulefile command may not be able to unload due to a registered prereq in the loaded environment. Which in turn will break the load of the modulefile declaring the <em>module unload</em> command.</p></li> <li><p>If automated module handling mode is enabled, <em>module load</em> modulefile command is interpreted when unloading modulefile as part of the Useless Requirement Unload (UReqUn) mechanism not through modulefile evaluation. As a consequence, an error occurring when unloading the modulefile targeted by the <em>module load</em> command does not break the unload of the modulefile declaring this command. Moreover unload of the <em>module load</em> targets is done in the reverse loaded order, not in the <em>module load</em> command definition order.</p></li> </ul> <p>This change is available in git repository and will be included into the upcoming v4.2 (only one topic remaining to address prior the release of the new version).</p> Xavier Delaruelle[email protected]urn:noticeable:publications:0fheLiW9OG8bdqe3bpjI2018-09-08T19:23:00.001Z2019-05-13T04:43:43.287ZMore small changes for 4.2I would like to let you known about 4 small improvements made following to discussions that occurred few months ago on the mailing-list or on bug trackers. New --with-bin-search-path configure option New ./configure option added to get...<p>I would like to let you known about 4 small improvements made following to discussions that occurred few months ago on the mailing-list or on bug trackers.</p> <h1><strong><a href="https://github.com/cea-hpc/modules/issues/164?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.more-small-changes-for-4-2&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.0fheLiW9OG8bdqe3bpjI&amp;utm_medium=newspage" target="_blank" rel="noopener">New --with-bin-search-path configure option</a></strong></h1> <p>New ./configure option added to get in control of the path list used to search the tools required to build and configure Modules (like <code>ps</code> and <code>basename</code>). Default value is <code>/usr/bin:/bin:/usr/local/bin</code>.</p> <h1><strong><a href="https://github.com/cea-hpc/modules/issues/166?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.more-small-changes-for-4-2&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.0fheLiW9OG8bdqe3bpjI&amp;utm_medium=newspage" target="_blank" rel="noopener">New --enable-silent-shell-debug-support configure option</a></strong></h1> <p>New ./configure option that adds the ability to control whether or not code to support silent shell debug should be added to the module function and sh-kind initialization scripts. Enabled by default.</p> <p>Useful for those wanting a small and neat <code>module</code> shell function definition (by use of the --disable-silent-shell-debug-support option).</p> <h1><strong><a href="https://github.com/cea-hpc/modules/issues/167?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.more-small-changes-for-4-2&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.0fheLiW9OG8bdqe3bpjI&amp;utm_medium=newspage" target="_blank" rel="noopener">New --enable-quarantine-support configure option</a></strong></h1> <p>Following same target than the previous new option, this one adds the ability to control whether or not code to support quarantine mechanism should be added to the module function and initialization scripts. Enabled by default.</p> <h1><strong><a href="https://github.com/cea-hpc/modules/issues/171?utm_source=noticeable&amp;utm_campaign=cbzeg7wtvaiqj21zbumx.more-small-changes-for-4-2&amp;utm_content=publication+link&amp;utm_id=cbzeG7wTvAIqj21zbUmx.UPOFxJbXsysxyt1L7iHB.0fheLiW9OG8bdqe3bpjI&amp;utm_medium=newspage" target="_blank" rel="noopener">Express Modules compatibility of modulefile with versioned magic cookie</a></strong></h1> <p>Any modulefile should start with the <code>#%Module</code> magic cookie and sometimes a version number may be placed right after this string. Until now this version number corresponded to a modulefile format version but it was never checked.</p> <p>Now this version number reflects the minimum version of Modules required to interpret the modulefile. If the version number is set along the magic cookie string it is now checked and the modulefile is interpreted only if Modules version is greater or equal to this version number. For instance, if a modulefile begins with the <code>#%Module4.3</code> string, it can only be evaluated by Modules version 4.3 and above. Elsewhere the modulefile is ignored like files without the <code>#%Module</code> magic cookie set.</p> Xavier Delaruelle[email protected]