MacOS High Sierra or Older
Due to the unfortunate difficulty Apple has placed on its users wishing to develop on platforms older than Mojave, it is strongly encouraged users upgrade to the lastest MacOS version available.
Minimum System Requirements
In general, the following is required for MOOSE-based development:
GCC/Clang C++11 compliant compiler (GCC @ 4.8.4, Clang @ 3.5.1 or greater)
Note: Intel compilers are not supported.
Memory: 16 GBs (debug builds)
Processor: 64-bit x86
Disk: 30GB
Prerequisites
The following, is required to be installed before you can begin using MOOSE.
Xcode Command Line Tools (CLT). To install CLT on your machine, open a terminal and run:
xcode-select --install
If you do not have both Xcode and CLT installed, you will be presented with a dialog box allowing you to install CLT. There are two choices, 'Get Xcode' and 'Install'. Choose 'Install' to install CLT. We will need Xcode as well, but choosing 'Get Xcode' will send you to the App Store and will ultimately fail if you are not running the lastest version of Mac OS.
Xcode. Log into Apple's Developer website (iTunes account required) and obtain the appropriate version of Xcode pertaining to your version of Mac OS. Once downloaded, you will need to extract the Xcode-*.xip file, and move the Xcode.app to your /Applications folder. Once that is done, you must then open Xcode to complete the installation.
Download and install XQuartz
High Sierra 10.13: moose-environment_osx-highsierra_20191125_x86_64.pkg
Modify your Bash Profile
During the installation of the moose-environment package, you have two opportunities to allow the installer to modify your bash profile. This will allow the moose-environment module system and compiler stack to be made available by default with every new terminal window opened.
The first is available after clicking 'Customize' during the install. While in this pane, check the option "MOOSE Environment", and then continue by clicking 'Install'.
The second is after the installer has completed, where you will be presented with a pop-up window alerting you to either allow the installer to make this change, or to do nothing. If you choose 'Cancel' at this point, know that you are now responsible for altering your bash profile yourself. In order to make the module system available, you must instruct your bash profile(s) to source the following file:
source /opt/moose/environments/moose_profile
Once sourced, you can then load an appropriate compiler stack for MOOSE-based development:
module load moose-dev-clang
Once the installer has completed, and/or you chose to modify your bash profile yourself, you must close any opened terminal windows, and re-open them to use the MOOSE environment.
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
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
Do not use sudo
when running update_and_rebuild_libmesh.sh.
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).
Head back over to the Getting Started page to continue your tour of MOOSE.