Building Software Packages

Overview

If you need to build software yourself, there are plenty tools that can help

Using Modules for Compilers, Build Tools, and Libraries

There are plenty of software modules available for compilers, build systems, and libraries that can make it much easier to build software yourself.

jedicker@nova21-swift-2 ~]$ module spider gcc
-----------------------------------------------------------------------------------------
 gcc:
-----------------------------------------------------------------------------------------
    Versions:
       gcc/7.5.0-lohvu65
       gcc/8.5.0-vgowph4
       gcc/8.5.0-7u6zupk
       gcc/12.2.0-khmr45w
       gcc/14.2.0-cuda12-vx6uhdf
    Other possible modules matches:
    
       gcc-runtime
       

This shows several versions of gcc are available:  7.5, 8.5, 12.2, and 14.2 (with CUDA).   To load the 12.2 version, do:  
$ module load gcc/12.2

Intel Compilers

If you do need to use Intel Compilers, you can do:

$ module spider intel
-----------------------------------------------------------------------------------
 intel:
-----------------------------------------------------------------------------------
    Versions:
       intel/18.2
       intel/19.5
       intel/20.1
       intel/22.3.1
       intel/2024.2.0

Note that Intel 22.3.1 and later are OneAPI versions.

Also, code built with Intel compilers may not be fully optimized for systems with AMD processors.  

Cmake

To see the available modules for cmake, do:  module spider cmake