Installing Environment Modules on Rocky Linux 8.5

Step 1: Download the modules packages

You can download the latest version of Modules Environment from http://modules.sourceforge.net/. The current version is 5.1

% dnf install tcl tcl-devel
% tar -zxvf modules-5.1.0.tar.gz
% cd modules-5.1.0
% ./configure --prefix=/usr/local/Modules \
--modulefilesdir=/usr/local/Modules/modulefiles
$ make && make install

By default, /usr/local/Modules/modulefiles will be setup as the default directory containing modulefiles. –modulefilesdir option enables to change this directory location.

Step 2: Configuration

# ln -s /usr/local/Modules/init/profile.sh /etc/profile.d/modules.sh
# ln -s /usr/local/Modules/init/profile.csh /etc/profile.d/modules.csh

Step 3: Source the Configuration

# source /etc/profile.d/modules.sh

Step 4: Start Adding Modules. Sample. A Sample File may look something like this. This is a Gcc-6.50

#%Module1.0
proc ModulesHelp { } {

global version prefix

        puts stderr "\tmodules - loads the gcc-6.5.0"
        puts stderr "\n\tThis adds $prefix/* to several of the"
        puts stderr "\tenvironment variables."
        puts stderr "\n\tVersion $version\n"
}

module-whatis   "gcc-6.5.0"

if { [ module-info mode load ] } {
        if { [ is-loaded "gnu/m4-1.4.18" ] } { } else {
                module load "gnu/m4-1.4.18"
        }
}

if { [ module-info mode load ] } {
        if { [ is-loaded "gnu/gmp-6.1.0" ] } { } else {
                module load "gnu/gmp-6.1.0"
        }
}


if { [ module-info mode load ] } {
        if { [ is-loaded "gnu/mpfr-3.1.4" ] } { } else {
                module load "gnu/mpfr-3.1.4"
        }
}


if { [ module-info mode load ] } {
        if { [ is-loaded "gnu/mpc-1.0.3" ] } { } else {
                module load "gnu/mpc-1.0.3"
        }
}


if { [ module-info mode load ] } {
        if { [ is-loaded "gnu/gsl-2.1" ] } { } else {
                module load "gnu/gsl-2.1"
        }
}


if { [ module-info mode load ] } {
        if { [ is-loaded "gnu/isl-0.18" ] } { } else {
                module load "gnu/isl-0.18"
        }
}

# for Tcl script use only
set     version         6.5.0
set     prefix          /usr/local/gcc-6.5.0
set     exec_prefix     ${prefix}
set     datarootdir     ${prefix}

prepend-path    PATH                    ${prefix}/bin
prepend-path    LD_LIBRARY_PATH         ${prefix}/lib:${prefix}/lib64:${prefix}/libexec
prepend-path    MANPATH                 ${prefix}/share

References:

  1. Installing Modules on Unix