Hello EasyBuilders! I am trying to configure EasyBuild to allow users to install software locally while using the existing cluster-wide stack (distributed via CVMFS) for dependencies. Here is the relevant EB configuration on the clients:
allow-loaded-modules (F) = EasyBuild detect-loaded-modules (F) = purge envvars-user-modules (F) = USER_STACK_ROOT, HOME installpath (F) = /home/hpcadmin/EasyBuild minimal-toolchains (F) = True module-depends-on (F) = True module-naming-scheme (F) = HierarchicalMNS prefix (F) = /home/hpcadmin/EasyBuild robot-paths (F) = <cvmfs_stack_root>/EasyBuild/custom_easyconfigs, <cvmfs_stack_root>/EasyBuild/software/EasyBuild/4.4.0/easybuild/easyconfigs rpath (F) = True subdir-user-modules (F) = EasyBuild/modules The cluster-wide stack root path is indicated above as: cvmfs_stack_root When a user wants to build and locally install a piece of software and the toolchain is already available in the cluster-wide stack, the expectation is that EB pulls the existing dependencies from the stack and only builds/installs locally the missing dependencies and finally the desired software. The generated local module will then appear in Lmod thanks to the subdir-user-modules option. When EasyBuild tries to resolve the dependencies, it pulls the list of installed modules from: * the paths in MODULEPATH * the <installpath>/<subdir_modules> as specified in the EB configuration In my case this correspond to the following paths: * <cvmfs_stack_root>/EasyBuild/modules/all/Core * /home/hpcadmin/EasyBuild/modules/all The problem with this is that EB only considers stack modules in the Core directory and not on the rest of the hierarchical tree (Compiler, MPI), causing the entire toolchain to be re-built locally. The solution would be to add <cvmfs_stack_root>/EasyBuild/modules/all to MODULEPATH at build time. What am I missing? Davide

