Mac OS Installation

Minimum System Requirements

In general, the following is required for MOOSE-based development:

  • C++11 compliant compiler (GCC 4.8.4, Clang 3.4.0, and Intel 2017 or greater)

    • (included in any of our redistributable packages if you choose to install one)

  • Memory: 16 GBs (debug builds)

  • Processor: 64-bit x86

  • Disk: 30GB

Prerequisites

  • Xcode Command Line Tools (CLT). To install CLT on your machine, open a terminal and run:

    xcode-select --install

    If you do not have CLT installed, you will be presented with a dialog box allowing you to install CLT.

  • Additionally, for OSX Mojave (10.14), you also need to install the header package:

    open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

note

Internal INL users may obtain the latest redistributable packages from the following location:

http://rod.inl.gov/MOOSE_ENVIRONMENT_PACKAGES/

warning:Close Open Terminals

If you have any opened terminals at this point, you must close and re-open them to use the MOOSE environment. The following instructions will ultimately fail if you do not.

Obtaining and Building MOOSE

Cloning MOOSE

MOOSE is hosted on GitHub and should be cloned directly from there using git. We recommend creating a directory named projects to put all of your MOOSE related work.

To install MOOSE run the following commands in a terminal.


mkdir ~/projects
cd ~/projects
git clone https://github.com/idaholab/moose.git
cd moose
git checkout master
note

The master branch of MOOSE is the stable branch that will only be updated after all tests are passing. This protects you from the day-to-day changes in the MOOSE repository.

Compile libMesh

MOOSE directly relies on the libMesh finite-element framework. Because of this strong tie MOOSE contains a particular version of libMesh that we have vetted for our users. To pull down and compile this version of libMesh you simply need to run a script in MOOSE:


cd ~/projects/moose
./scripts/update_and_rebuild_libmesh.sh
warning

Do not use sudo when running update_and_rebuild_libmesh.sh.

Compile and Test MOOSE

After libMesh has compiled the next step is to compile and test MOOSE.


cd ~/projects/moose/test
make -j 4
./run_tests -j 4

If the installation was successful you should see most of the tests passing (some tests will be skipped depending on your system environment).

Update MOOSE

MOOSE does not use traditional versioning, is under heavy development, and is being updated continuously. Therefore, it is important that you continue to update MOOSE as you use it to develop your application(s), we recommend weekly updates.

To update MOOSE use the following commands.


cd ~/projects/moose
git fetch origin
git rebase origin/master

Then return to your application, re-compile, and test.


cd ~/projects/YourAppName
make -j4
./run_tests -j4

Head back over to the Getting Started page to continue your tour of MOOSE.