On 13/10/16 16:42, Ole Holm Nielsen wrote:
On 10/13/2016 04:27 PM, Kenneth Hoste wrote:
I'm afraid I don't have one. We don't load Easybuild by default for our
users. But you should take a look at:

Thanks, this page is actually useful and specific!  So I've created a
new file /etc/profile.d/z01_EasyBuild.sh (to be loaded *after* Lmod's
z00_* scripts) with this content:

if [ -z "$__Init_Default_Modules" ]; then
   export __Init_Default_Modules=1;
   # module --initial_load restore
   export EASYBUILD_PREFIX=/home/modules
   module use $EASYBUILD_PREFIX/modules/all
Is this right?

Are the modules really in /home/modules/modules/all?

Yes, I NFS-mount /home/modules, and there are 5 EB directories there:

# ls -la /home/modules
total 16
drwxrwxr-x.  7 modules modules   80 Oct 13 12:17 .
drwxr-xr-x.  3 root    root       0 Oct 13 16:34 ..
drwxrwxr-x.  2 modules modules    6 Oct 13 14:21 build
drwxrwxr-x. 35 modules modules 4096 Oct 13 14:21 ebfiles_repo
drwxrwxr-x. 15 modules modules 4096 Oct 13 13:55 modules
drwxrwxr-x. 36 modules modules 4096 Oct 13 14:21 software
drwxrwxr-x. 16 modules modules 4096 Sep 29 15:28 sources

Are you suggesting that only the "modules" subdirectory will actually be needed by users? Anyway, the EB module building requires access to all subdirectories, so it seems convenient to have all subdirectories exposed this way. Am I making any mistakes here?

No, it just looks weird to me to have a modules/modules directory, seems like a potential source for confusion...

I'd personally go with /home/apps or /apps or /home/easybuild, but that's up to you :)

The recommended line "module --initial_load restore" generates an
unwarranted message:

The system default contains no modules
  (env var: LMOD_SYSTEM_DEFAULT_MODULES is empty)
  No changes in loaded modules

so I got rid of it by commenting this line out.

Well, you need to define $LMOD_SYSTEM_DEFAULT_MODULES :)

Do I really *need* to?  What's the point, and what should I do then?

If you define $LMOD_SYSTEM_DEFAULT_MODULES=EasyBuild, then you (or your users) can easily restore after purge using 'module restore'.

Other than that, I don't think there are big advantages, but someone will correct me if I'm wrong (e.g. Robert in CC, the Lmod lead developer).

Question: Does anyone see potential problems or bad side effects with
such a global setup of EB for all users?

Having a proper default setup in place makes sense, but users can easily
override it with their own config file or via environment variables.

That sounds like a "Good Thing" for advanced users, right?

Sure. If the users are indeed advanced, I guess they can potentially shoot themselves in the foot easily too by not realizing what redefining $EASYBUILD_PREFIX or undefining $EASYBUILD_MODULES_TOOL means... They'll notice soon enough I guess. ;)

The only thing we do is load Lmod itself (a symlink to init/bash in

Question: How do your users initialize the usage of EB?

They can define a config file, or define environment variables
(typically via .bashrc), up to them...

Ah, so it's DIY for your users! I'm trying to make it easy for new users so that they don't need to manipulate .bashrc after reading some web documentation... I guess that's a matter of taste.
Well, only users that are, for whatever reason, not happy with the system-level configuration you put in place would do that, of course.

One thing that comes to mind: do all your users have access to /home/modules ($EASYBUILD_PREFIX)?



Reply via email to