[Note: updated Feb 6, 2017 with a workaround for the runaway CPU usage in idle notebooks (new open-mpi version requirement)]
The new releases of MacOS generally bring a new suite of compilers and problems with pre-existing
homebrew installed binaries / libraries. This can take several weeks to shake out.
A more robust, if time-consuming, approach is to build the core dependencies through
petsc which ensures that only compatible versions are used. This also ensures that we can use the compatible
petsc version specified by underworld2.
homebrew does not allow us to specify specific versions.
When upgrading, we always recommend purging
or, on a new machine, installing as follows:
swig are the only homebrew requirements, but you might also
make sure that you have
wget to grab a compatible version of petsc. The
gcc requirement is to allow fortran dependencies to be installed. This takes a while but is worth having for later !
We currently test against
petsc-3.6.4 and we support
You can install anywhere, but the following instructions assume
/usr/local/src, change as necessary
If you need
petsc-3.7.x, you will need to access the development branch where we are currently testing compatibility.
You should set the following environment variables
The following is a relatively bare-bones configuration for petsc that should work with all the example notebooks we provide. From the
$PETSC_DIR run the configure script and
make. Note, we specify a particular version of
open-mpi here because the default that is otherwise installed appears to have some problems (idle notebooks run at full CPU load).
To ensure that we use the compatible packages installed by
petsc and by
homebrew, set the following
There are a number of
python dependencies which we install via
Obtain the underworld source code from
The installation path for underworld is not especially important but you can specify it explicitly at this stage.
Your python path will need to include this directory explicitly so that you can import the underworld modules.
The build process for underworld has been simplified slightly from earlier versions
Assuming that works flawlessly