Python (possibly optional)

Building MOOSE requires having Python headers (python-devel) and the Python package: packaging available. If you know you have this requirement satisfied, and you do not plan on also using Peacock (next section) you can skip this section.

These requirements are easily installed via Conda.

Follow the steps below depending on your platform to install Miniforge. If you run into issues during these steps, please visit our Conda Troubleshooting guide.

  • Linux Users:

    
    curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
    bash Miniforge3-Linux-x86_64.sh -b -p ~/miniforge
    

  • Macintosh Users with Intel processors:

    
    curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh
    bash Miniforge3-MacOSX-x86_64.sh -b -p ~/miniforge
    

  • Macintosh Users with Apple Silicon processors:

    
    curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
    bash Miniforge3-MacOSX-arm64.sh -b -p ~/miniforge
    

With Miniforge installed in your home directory, export PATH so that it may be used:


export PATH=$HOME/miniforge/bin:$PATH

Now that we can execute conda, initialize it and then exit the terminal:


conda init --all
exit

Upon restarting your terminal, you should see your prompt prefixed with (base). This indicates you are in the base environment, and Conda is ready for operation:


$ (base) ~>

The next thing you should do after a fresh install, is perform an update to the base Conda environment:


conda update --all --yes

Add INL's public channel to gain access to INL's Conda package library:


conda config --add channels https://conda.software.inl.gov/public
warningwarning:Do not use sudo

If you find yourself using sudo commands while engaging Conda commands... something is not right. The most common reason for needing sudo is due to an improper Conda installation. Conda should be installed to your home directory, without any use of sudo.

Next, install the necessary packaging module:


conda install packaging

Peacock (optional)

Peacock requires many third party libraries. The easiest way to get these libraries installed is to use our moose-peacock package available from INL's public Conda channel.


conda config --add channels https://conda.software.inl.gov/public
config create -n peacock moose-peacock
commentnote

It is safe to ignore a warning about our public channel already among your channel list.

warningwarning:Separate Environments

It is important to create a new environment to contain the libraries necessary to run Peacock. Do not install moose-peacock while inside the moose environment (or any environment with moose-libmesh installed).

Activate the newly created peacock environment:


config activate peacock
commentnote

When ever you wish to run Peacock, it will be necessary to activate this environment.