BuildTools

Different version of some build tools are available on the platform gateway. The default version of maven is 3.0.5 and the default version gcc is 4.8.5. Newer version are available using Software Collections.

Maven

To enable version 3.5.0 of maven, yan can use Software Collect rh-maven35:

#print the current version of maven 
$> mvn --version 
Apache Maven 3.0.5 (Red Hat 3.0.5-17)
Maven home: /usr/share/maven
#open a new shell using Software Collection rh-maven35
$> scl enable rh-maven35 bash 
#in the new shell, prints the version of maven 
$> mvn --version
Apache Maven 3.5.0 (Red Hat 3.5.0-4.3)
Maven home: /opt/rh/rh-maven35/root/usr/share/maven

GCC/G++

There are two different Software Collection providing newer verson of gcc. They also provide a c++ compiler.

devtoolset-7

Software Collection devtoolset-7 provides version 7.3.1 of gcc. This collection is active by default. To enable :

#print the current version of gcc 
$> gcc --version 
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
$> scl enable devtoolset-7 bash 
#in the new shell, prints the version of gcc 
$> gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)

devtoolset-11

Software Collection devtoolset-11 provides version 11.2.1 of gcc. To enable :

#print the current version of gcc 
$> gcc --version 
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
$> scl enable devtoolset-7 bash 
#in the new shell, prints the version of gcc 
$> gcc --version
gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)

CMake

Cmake is available in to version on the gateway:

cmake provides version 2.8.12.2 while cmake3 provides version 3.17.5.

NodeJs

Nodejs(command node with version 16.13.1) and npm(version 8.1.2) are available on the gateway.

Note that installing some packages with npm might require g++ or a specific version of gcc thus requiring activating devtoolset-7 or devtoolset-11.

Conda

Conda is available as /mnt/shared/public/anaconda3/bin/conda to ease the creating and management of python environments.

/mnt/shared/public/anaconda3/bin/conda init bash will setup your bash environment for conda. This will allow you to use conda activate <environement> and conda deactivate <environement> to switch between environements.
It will also overwrite your initial python environment to conda base environment (/mnt/shared/public/anaconda3/bin/python) unless you use command conda config --set auto_activate_base false to change this behavior.

Some useful conda commands:

#create an environement in <path/to/environment> with python version 3.7 and numpy
$>conda create -p <path/to/environment> python=3.7 numpy
#activating an environment : this will prepend your shell prompt with '(environment)' 
$>conda activate <path/to/environment> 
#deactivating an environment : this will remove the prepended '(environment)' from your shell prompt
$>conda deactivate 
#creating a new environment by cloning an existing one
$>conda create -p <path/to/new/environment> --clone <path/to/existing/environment>