Hi Ken, all,
On Feb 11, 2014, at 8:52 AM, Kenneth Hoste wrote:
> Simply dropping the "if is-loaded" guard around the "module load
> <dependency>" will also have the effect of "recursive unloading", but will
> also always load dependency modules, whether they were loaded already or not.
In fact, this is the very first time I hear an attractive reason
for the "if is-loaded" construct, which otherwise I didn't know why
it was there, in the first place. If somebody knows another reason,
please throw it in here because we would like to be aware...
btw.
I can see people religiously split both in the for/against camps of this
"feature",
so my suggestion is to keep this as a tunable, as regards EasyBuild standpoint.
> I've looked into reloading modules that are already loaded, and certainly
> with environment modules 3.2.10 this is harmless (the statements in the module
I think the idempotent feature was always there with modules and, always
considered the $LOADEDMODULES as a way to guard on that, I might be wrong
anyhow :-P
> file are not re-executed). Lmod takes a different approach (it unloads and
> reloads the module), so things may be trickier there, but it should still
> work.
This difference in behavior between Lmod and classic modules doesn't leave a
good taste,
unless it's a tunable. I've convinced myself that it can give surprises to
users...
(for the exact reason it is implemented in that way!)
cheerio,
F.
--
echo "sysadmin know better bash than english" | sed s/min/mins/ \
| sed 's/better bash/bash better/' # Yelling in a CERN forum