Installing Chaste on macOS Sierra

This install guide is based upon a fresh install of macOS Sierra.

C++ Compiler

You will need to either:

  • Install Xcode from app store to get the Apple-clang compiler
  • Following the instructions below to install Gcc-7 via Homebrew (it is a dependency of several packages)
    • Note that, by default, g++ is an alias to the Apple-clang compiler

Homebrew

see http://mxcl.github.com/homebrew/

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Note: I needed to chown some directories to get homebrew 100% happy

sudo chown USER /usr/local/share/man/de/
sudo chown USER /usr/local/share/man/de/man1/

where USER is your username.

Installing dependencies via Homebrew

To get the latest version of a dependency, you can

brew install <name>

To get a particular version of a dependency, you can

brew install <name>@<version>

but this may not be available for all packages.

A full list of packages it's possible to install can be retrieved with

brew search <name>

For instance,

brew search boost

gives several options including

boost # latest version, 1.65, currently incompatible with Chaste
boost@1.55
boost@1.57
boost@1.60

See InstallGuides/DependencyVersions for details on which dependency versions are compatible. Use the following as a guide, but put in specific version numbers, if available, if the default packages are incompatible with Chaste:

brew install wget 
brew install cmake
brew install boost
brew install xerces-c
brew install metis
brew install parmetis

HDF5

Homebrew no longer allows options so to install HDF5 with MPI you need to

brew install iltommi/brews/hdf5-parallel

Then force link it

brew link --force  hdf5-parallel

Also change line 218 of 'AbstractHdf5Converter'

to

H5Oget_info_by_name (loc_id, name, &infobuf,  0,H5P_DEFAULT);

More parallel stuff

brew install sundials --with-mpi
brew install vtk
brew install petsc --with-mpi

Codesynthesis XSD

Codesynthesis XSD is not available in homebrew and must be installed directly:

wget https://www.codesynthesis.com/download/xsd/4.0/macosx/i686/xsd-4.0.0-i686-macosx.tar.bz2
tar -jxf xsd-4.0.0-i686-macosx.tar.bz2

PyCML

pip install --user "python-dateutil==1.5"
pip install --user "rdflib==2.4.2"
pip install --user lxml
pip install --user "Amara==1.2.0.2"

If the above displays an error when installing Amara, try again with:

sudo easy_install https://pypi.python.org/packages/2.5/A/Amara/Amara-1.2.0.2-py2.5.egg

Get the source code

See

https://chaste.cs.ox.ac.uk/trac/wiki/ChasteGuides/AccessCodeRepository

Adding variables to bash profile

We use the pre-compiled XSD, so must tell CMake where to find it. Edit your bash profile:

nano ~/.bash_profile

and add

EXPORT XSD_ROOT=/path/to/xsd-4.0.0-i686-macosx

Additionally, if you wish to use GCC rather than Apple-Clang, also add the following (or similar) to your bash profile:

EXPORT CC=gcc-7
EXPORT CXX=g++-7

Finishing up

Follow the CMake first run guide.


Handy things

To be able to see the tmp folder in finder use

sudo chflags nohidden /tmp

Useful aliases to add to ~/.bash_profile

nano ~/.bash_profile
alias cdchaste='cd /Users/chaste/workspace/Chaste' #Or similar