You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At JSC we have the current modules environment which contains some modules that conflict with EB. To avoid any problems I created the following module file that changes the module path to only point to the EB space:
#%Module1.0##########################################################
##
## EasyBuild ZAM Developers modulefile
##
proc ModulesHelp { } {
puts stderr " This module will purge the default module environment and replace it "
puts stderr " with the EasyBuild module environment instead."
puts stderr " I have installed toolchains for GCC and Intel compilers by default."
puts stderr " For the Intel compiler toolchain with Parastation MPI, load the impmkl module"
puts stderr " - this includes Intel MKL using Parastation MPI"
puts stderr " For the Intel compiler toolchain with Intel MPI, load the ictce module"
puts stderr " - this includes Intel MKL using Intel MPI"
puts stderr " For the GCC compiler toolchain with Parastation MPI, load the gmpolf module"
puts stderr " - this includes Parastation MPI, OpenBLAS, FFTW and ScaLAPACK"
puts stderr " "
}
module-whatis "Module to set up ZAM developer space for EasyBuild"
# Set the default path to be the common development space
set pkgroot /usr/local/eb
setenv EASYBUILD_PREFIX $pkgroot
# Make sure that people build in a unique space so we avoid stepping on each others toes as much as possible
setenv EASYBUILD_BUILDPATH "/tmp/$::env(USER)"
# Indicate that we (currently) use Tcl modules
setenv EASYBUILD_MODULES_TOOL EnvironmentModulesTcl
# Set the python path to find all the EasyBuild files
prepend-path PYTHONPATH $pkgroot/lib/python2.6/site-packages
# Set the path to find the eb command AND to find the modulecmd.tcl
prepend-path PATH $pkgroot/bin
prepend-path PATH /usr/local/module
# Finally, purge installed modules and set the new module path
module purge
setenv MODULEPATH /usr/local/eb/modules/all
The problem is loading this module leaves you with a loaded module that needs to be found in the module path. I created a dummy module (which is identical except for the last 2 lines) for this case that, when unloaded, puts you back into the default environment:
# Finally, ~~purge installed modules and set the new module path~~ sneakily reset the path
unsetenv MODULEPATH /usr/local/modulefiles/COMPILER:/usr/local/modulefiles/MATH:/usr/local/modulefiles/SCIENTIFIC:/usr/local/modulefiles/IO:/usr/local/modulefiles/TOOLS:/usr/local/modulefiles/MISC
The problem is that this approach breaks the sanity checks. Is there a better way?
The text was updated successfully, but these errors were encountered:
At JSC we have the current modules environment which contains some modules that conflict with EB. To avoid any problems I created the following module file that changes the module path to only point to the EB space:
The problem is loading this module leaves you with a loaded module that needs to be found in the module path. I created a dummy module (which is identical except for the last 2 lines) for this case that, when unloaded, puts you back into the default environment:
The problem is that this approach breaks the sanity checks. Is there a better way?
The text was updated successfully, but these errors were encountered: