Skip to content

incompatibility with Lmod 8.7.56 due to module show producing non-zero exit code for non-existent module #4759

@boegel

Description

@boegel

Upgrading the Lmod 8.7.56 causes trouble for EasyBuild, because it includes a backwards-incompatible change: running module show on a non-existing module file now returns a non-zero exit code (while before it always resulted in exit code 0, regardless of whether the module file exists or not). See also TACC/Lmod#743 .

It's very easy to run into this after upgrading Lmod to version 8.7.56 (or newer), since EasyBuild checks very early on whether modules for dependencies exist through the ModulesTool.exist method, which relies module show in case a module file is not listed in module avail.
For example:

eb bzip2-1.0.8.eb -r
== Temporary log file in case of crash /tmp/eb-h1puymlz/easybuild-qleyna3p.log
== resolving dependencies ...
ERROR: Module command '/opt/homebrew/Cellar/lmod/8.7.56/libexec/lmod python show binutils/2.37' failed with exit code 1; stderr: Lmod has detected the following error: Failed to find the following module(s): "binutils/2.37" in your MODULEPATH
Try:

    $ module spider binutils/2.37

to see if the module(s) are available across all compilers and MPI implementations.



; stdout: _mlstatus = False

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions