Installing Chaste on OSX yosemite
Warning: we're currently writing this guide and currently it only allows the use of 'cell based' code
This install guide is based upon a fresh install of OSX Yosemite in October 2014.
It has been tested on El Capitan in June 2016
Xcode
Install Xcode from app store. (Version 7.3)
- Xcode comes with Subversion version 1.7.1. Alternatively, Homebrew has version 1.8 of Subversion.
- Xcode provides the "g++" compiler
Home Brew
see http://mxcl.github.com/homebrew/
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Later libraries (PETSc, METIS, VTK and parMETIS) need a "science" repository
brew tap homebrew/science
If you're using the cell based code only you can roll the next few installs together. However, some of these (PETSc and Sundials) need some configuration to build in the correct way to work for all of the code base (see Mountain Lion instructons). It will take a while.
brew install wget scons xerces-c petsc parmetis metis vtk
brew install sundials --with-mpi
brew install hdf5 --with-mpi
vtk5 is no longer supported but can be installed with
brew install rdeits/director/vtk5
Codesynthesis XSD
Codesynthesis XSD is not available in homebrew and must be installed directly:
wget http://www.codesynthesis.com/download/xsd/3.3/macosx/i686/xsd-3.3.0-i686-macosx.tar.bz2 tar xvfz xsd-3.3.0-i686-macosx.tar.bz2 #These instructions assume that homebrew has created /usr/local/ and that the current user has permission to write to it. cp xsd-3.3.0-i686-macosx/bin/xsd /usr/local/bin/ cp -r xsd-3.3.0-i686-macosx/libxsd /usr/local/opt/
You also need to change the call setg (b, b, e) on line 35 of xsd/cxx/zc-istream.txx like this:
bash-3.2$ diff -u /usr/local/opt/libxsd/xsd/cxx/zc-istream.txx.orig /usr/local/opt/libxsd/xsd/cxx/zc-istream.txx --- /usr/local/lib/libxsd/xsd/cxx/zc-istream.txx.orig 2013-07-10 11:00:23.000000000 +0100 +++ /usr/local/lib/libxsd/xsd/cxx/zc-istream.txx 2013-07-10 11:00:59.000000000 +0100 @@ -32,7 +32,7 @@ C* b (const_cast<C*> (str_.data ())); C* e (b + str_.size ()); - setg (b, b, e); + std::streambuf::setg (b, b, e); }
Get the source code
See
https://chaste.cs.ox.ac.uk/trac/wiki/ChasteGuides/AccessCodeRepository
Host Config
Use attachment:local.py (experimental) for your host config?. Save it as python/hostconfig/local.py.
GOT TO HERE and cell_based works.
TODO: openmpi valgrind
Python XML tool support
Libraries needed by PyCml, the heart component and the Functional Curation bolt-on project.
# Note that Amara at version 2 is not suitable, so version 1.2 is forced. sudo easy_install https://pypi.python.org/packages/2.5/A/Amara/Amara-1.2.0.2-py2.5.egg sudo easy_install rdflib sudo easy_install lxml
More for the developer
Eclipse
- Download the Eclipse IDE for C++ developers (or a more appropriate file) from http://www.eclipse.org/downloads/
- Open the resulting tar file to produce a folder named "eclipse"
- Drag and drop the "eclipse" folder to "Applications" in FileFinder
- Open from Applications -> eclipse -> Eclipse
- (You might be prompted to install a Java runtime when you first run Eclipse)
- If you want to alias or add the path, the location is /Applications/eclipse/eclipse
Valgrind
Valgrind version 3.8.1 (not necessary, but useful to the serious developer)
brew install valgrind
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 eclipse=/Applications/eclipse/eclipse alias cdchaste='cd /Users/chaste/eclipse/workspace/Chaste' #Or similar