Build IceCube software

From T2B Wiki
Jump to navigation Jump to search

This page will guide you through the installation process for icecube software on your computer. For using it on the cluster, see IceCube_software

Preparation

mkdir ~/i3

Create alias for ipython notebook

echo "#iPython notebook
nb='ipython notebook --pylab=inline'" >> ~/.bashrc

Reload bashrc

. ~/.bashrc

Dependencies

Download and execute the script depending on your OS from http://code.icecube.wisc.edu/icetray-dist/distros/
It will install required dependencies

Note for Ubuntu

There is a missing package 'libboost-all-dev' in the Ubuntu script.

sudo apt-get install libboost-all-dev

I3_PORTS

I3_PORTS are a common way to get required sources dependencies for the icecube software

Prepare export in bashrc

echo "export I3_PORTS=/home/camper/i3/ports" >> ~/.bashrc

Reload bashrc

. ~/.bashrc

Checkout i3_ports

svn co http://code.icecube.wisc.edu/icetray-dist/tools/DarwinPorts/trunk ~/i3/ports_src

Install i3_ports

cd ~/i3/ports_src
./i3-install.sh $I3_PORTS


Usage

Sync available ports

$I3_PORTS/bin/port sync

List installed ports

$I3_PORTS/bin/port installed

List available ports

$I3_PORTS/bin/port list

Install a port

$I3_PORTS/bin/port install PORT_NAME

Show dependencies of a port

$I3_PORTS/bin/port deps PORT_NAME


OpenCL

Download the correct version from http://developer.amd.com/tools-and-sdks/opencl-zone/opencl-tools-sdks/amd-accelerated-parallel-processing-app-sdk/ Or http://www.iihe.ac.be/~samary/AMD-APP-SDK-v2.9-lnx64.tgz

Prepare export in bashrc

echo "#OpenCL libraries
export OPENCL_VENDOR_PATH="/etc/OpenCL/vendors"
export ATISTREAMSDKROOT="/opt/AMD-APP-SDK-v2.9-RC-lnx64"
export LD_LIBRARY_PATH=$ATISTREAMSDKROOT/lib/x86_64:$LD_LIBRARY_PATH" >> ~/.bashrc

Reload bashrc

. ~/.bashrc

Download and install OpenCL

#wget http://www.iihe.ac.be/~samary/AMD-APP-SDK-v2.9-lnx64.tgz
tar xvf AMD-APP-SDK-v2.9-lnx64.tgz
sudo ./Install-AMD-APP.sh
tar xvf AMD-APP-SDK-v2.9-RC-lnx64.tgz 
mv AMD-APP-SDK-v2.9-RC-lnx64 /opt

Offline-software

Checkout code

svn co http://code.icecube.wisc.edu/svn/meta-projects/offline-software/releases/V14-03-01 ~/i3/offline-software/V14-03-01/src

Prepare build

mkdir  ~/i3/offline-software/V14-03-01/build
cd ~/i3/offline-software/V14-03-01/build
$I3_PORTS/bin/cmake -DSYSTEM_PACKAGES=True ../src

Build

make

Create alias

echo "#Offline-Software environment
alias offline-software='/home/camper/i3/offline-software/V14-03-01/build/env-shell.sh'" >> ~/.bashrc

Reload bashrc

. ~/.bashrc

Simulation

Checkout code

svn co http://code.icecube.wisc.edu/svn/meta-projects/simulation/releases/V04-00-12 ~/i3/simulation/V04-00-12/src

download spline tables

cd ~/i3/simulation/V04-00-12/src/genie-icetray/resources/splines/
wget 'http://icecube.wisc.edu/~ckopper/splines_water_2.6.4.xml'

Prepare build

mkdir ~/i3/simulation/V04-00-12/build
cd ~/i3/simulation/V04-00-12/build
$I3_PORTS/bin/cmake -DSYSTEM_PACKAGES=True ../src

Build

make

Create alias

echo "#Simulation environment
alias simulation='/home/camper/i3/simulation/V04-00-12/build/env-shell.sh'" >> ~/.bashrc

Reload bashrc

. ~/.bashrc

IceRec

Checkout code

svn co http://code.icecube.wisc.edu/svn/meta-projects/icerec/releases/V04-07-00/ ~/i3/icerec/V04-07-00/src

Extra projects

svn co http://code.icecube.wisc.edu/svn/sandbox/mzoll/MCPulseSeparator/trunk ~/i3/icerec/V04-07-00/src/MCPulseSeparator                           
svn co http://code.icecube.wisc.edu/svn/sandbox/mzoll/MCHitSeparator/trunk  ~/i3/icerec/V04-07-00/src/MCHitSeparator                               
svn co http://code.icecube.wisc.edu/svn/sandbox/mzoll/CoincSuite/trunk  ~/i3/icerec/V04-07-00/src/CoincSuite                                      
svn co http://code.icecube.wisc.edu/svn/projects/HiveSplitter/branches/IceHive  ~/i3/icerec/V04-07-00/src/IceHive

Prepare build

mkdir ~/i3/icerec/V04-07-00/build
cd ~/i3/icerec/V04-07-00/build
$I3_PORTS/bin/cmake -DSYSTEM_PACKAGES=True ../src

Build

make

Create alias

echo "#Icerec environment
alias icerec='/home/camper/i3/icerec/V04-07-00/build/env-shell.sh'" >> ~/.bashrc

Reload bashrc

. ~/.bashrc