Setting up an Ubuntu Build Machine

This is the setup that we performed to get dizzy.cs.ox.ac.uk working. You will need to be the super user for this / have root permissions.

The following steps are needed:

  1. Install 64 bit Ubuntu Server Long Term Support (LTS) http://www.ubuntu.com/download/server/download. The following worked for Lucid 10.04, but is expected to work for 12.04 too.
  2. Install the Chaste Ubuntu package as usual via InstallGuides/UbuntuPackage, following the developer instructions, be sure to get all the "suggests" too.
    • On newer Ubuntu (12.04), you'll need to install google-perftools for running a GoogleProfile build, and add the line "tools['pprof'] = '/usr/bin/google-pprof'" to your hostconfig file.
  3. Follow the instructions on AutomatedBuilds? for setting up a bob account, which can remotely log in to run builds (despite svn keys being set up as per AutomatedBuilds? we had to login from chaste.cs once manually, to say 'yes' to the fingerprint key).
  4. Install Intel compiler as detailed below, and manually re-install PETSc to use the Intel compiler.
  5. Add details of the Intel compiler to a new python/hostconfig file, based upon ubuntu.py (see dizzy.py for an example). You should just need to add:
    # Intel paths etc.
    petsc_build_name_production = 'linux-intel-opt-mkl'
    intel_path = '/opt/intel'
    blas_lapack_production = ['mkl_intel_lp64', 'mkl_core', 'mkl_sequential']
    other_libpaths = ['/opt/intel/composerxe/mkl/lib/intel64']
    

Installing the Intel Compiler version 12 or 13

scp chaste@scoop.cs.ox.ac.uk:src/l_ccompxe_intel64_2011.9.293.tgz .
tar -zxf l_ccompxe_intel64_2011.9.293.tgz
./l_ccompxe_intel64_2011.9.293/install.sh
scp chaste@scoop.cs.ox.ac.uk:src/l_ccompxe_intel64_2013.0.079.tgz .
tar -zxf l_ccompxe_intel64_2013.0.079.tgz
./l_ccompxe_intel64_2013.0.079/install.sh

We followed the "install using sudo" route, and gave "28519@…" as the license server to use (see below). Everything was installed into /opt/intel.

Add to .bashrc (for yourself and bob):

export LD_LIBRARY_PATH=/home/bob/eclipse/workspace/Chaste/lib
source /opt/intel/bin/compilervars.sh intel64
export INTEL_LICENSE_FILE="28519@flexlm.nsms.ox.ac.uk"

Install PETSc

wget http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.1-p8.tar.gz
tar -zxf petsc-3.1-p8.tar.gz
cd petsc-3.1-p8
export PETSC_DIR=`pwd`

PETSc with support for GCC builds

export PETSC_ARCH=linux-gnu
./config/configure.py --with-x=false --with-clanguage=cxx --download-openmpi=yes --download-hdf5=yes --download-parmetis=yes --download-c-blas-lapack=1 --with-shared --with-fortran=0
make all

export PETSC_ARCH=linux-gnu-opt
./config/configure.py --with-x=false --with-clanguage=cxx --download-openmpi=yes --download-hdf5=yes --download-parmetis=yes --download-c-blas-lapack=1 --with-shared --with-fortran=0 --with-debugging=0
make all

export PETSC_ARCH=linux-gnu-profile 
./config/configure.py --with-x=false --with-clanguage=cxx --download-openmpi=yes --download-hdf5=yes --download-parmetis=yes --download-c-blas-lapack=1 --with-shared --with-fortran=0  --CXXFLAGS=-pg --CFLAGS=-pg -LDFLAGS=-pg
make all

PETSc with support for Intel build

export PETSC_ARCH=linux-intel
./config/configure.py --with-cxx=icpc --with-cc=icc --with-vendor-compiler=intel --with-x=false --with-clanguage=cxx --download-openmpi=yes --CXXFLAGS=-fPIC --CFLAGS=-fPIC --download-hdf5=yes --download-parmetis=yes --with-shared --with-fortran=0 --download-c-blas-lapack=1
make all

PETSc with support for IntelProduction build

export PETSC_ARCH=linux-intel-opt-mkl
./config/configure.py --with-cxx=icpc --with-cc=icc --with-vendor-compiler=intel --with-x=false --with-clanguage=cxx --download-openmpi=yes --CXXFLAGS=-fPIC --CFLAGS=-fPIC --download-hdf5=yes --download-parmetis=yes --with-shared --with-fortran=0  --with-debugging=0 --with-blas-lapack-dir=/opt/intel/composerxe/mkl/lib/intel64 --with-static-mpi=1
make all