TACC / Lmod

Lmod: An Environment Module System based on Lua, Reads TCL Modules, Supports a Software Hierarchy
http://lmod.readthedocs.org
Other
471 stars 122 forks source link

Family names are not sanitized before setting environment variable #612

Closed mboisson closed 1 year ago

mboisson commented 1 year ago

Describe the bug When setting the family directive for a module, with hoomd-blue as a name, Lmod gives an error:

-bash: LMOD_FAMILY_HOOMD-BLUE=hoomd-blue : commande introuvable
-bash: export: « LMOD_FAMILY_HOOMD-BLUE » : identifiant non valable
-bash: LMOD_FAMILY_HOOMD-BLUE_VERSION=3.6.0 : commande introuvable
-bash: export: « LMOD_FAMILY_HOOMD-BLUE_VERSION » : identifiant non valable

It attempts to export LMOD_FAMILY_HOOMD-BLUE which is not a valid environment variable name. The name of the family should be sanitized (or the family directive should do checking and refuse that name with a meaningful error message).

rtmclay commented 1 year ago

This has already been fixed as of Lmod 8.7.5

mboisson commented 1 year ago

Ah, ok. Thanks, will look at upgrading.