Difference between revisions of "Install HallD Software on Ubuntu"

From GlueXWiki
Jump to: navigation, search
Line 104: Line 104:
  
 
  make -f build_scripts/Makefile_all sim-recon_build
 
  make -f build_scripts/Makefile_all sim-recon_build
 +
 +
 +
10. [[Quick Start Guide to building GlueX Software#Create_a_run_directory|Test it working]]
  
  
 
----
 
----
Another way is to build JANA and sim-recon using scons SBMS. Here are steps to steps 9 and 10 using SBMS
+
 
 +
== SBMS ==
 +
 
 +
 
 +
Alternative way is to build JANA and sim-recon using scons SBMS. Here are steps to steps 9 and 10 using SBMS
  
  
Line 134: Line 141:
  
 
9. sim-recon
 
9. sim-recon
 +
 +
Do the same steps to build sim-recon.
  
 
Create directory and checkout sim-recon
 
Create directory and checkout sim-recon
Line 141: Line 150:
 
  svn co https://halldsvn.jlab.org/repos/trunk/sim-recon trunk  
 
  svn co https://halldsvn.jlab.org/repos/trunk/sim-recon trunk  
 
  ln -s trunk prod
 
  ln -s trunk prod
  cd ~/halld/sim-recon/trunk/src
+
 
 +
go to prod/src, build and install using scons.
 +
 
 +
  cd ~/halld/sim-recon/prod/src
 +
scons
 +
scons install
 +
 
 +
Add environment script to .bashrc
 +
 
 +
echo 'source ~/halld/sim-recon/prod/$BMS_OSNAME/setenv.sh'>>~/.bashrc
 +
source ~/.bashrc
 +
 
 +
Done!

Revision as of 08:47, 21 February 2014

Here is a complete list of commands to install and run sim-recon on fresh installed Ubuntu. Tested with Ubuntu 13.10

Complete list means that one can open a terminal window after ubuntu instillation and setup halld software by copy/paste commands one by one.


0.

sudo apt-get update && apt-get upgrade


1. Install all things with dependencies. (Probably it is more than required for only gluex-software)

sudo apt-get install vim scons gcc subversion pythia8-root-interface python-dev libgeant321-2-dev 
sudo apt-get install geany-plugins clang llvm-dev build-essential libxft-dev cernlib-base-dev libxft-dev 
sudo apt-get install libfreetype6-dev:i386 paw libmysqlclient-dev libbz2-dev tcsh xutils-dev libcurl3-dev libatlas-base-dev


2. Create folder for HallD software in the home directory

cd
mkdir halld
cd halld


3. Get halld build scripts

svn checkout https://halldsvn.jlab.org/repos/trunk/scripts/build_scripts


4. Set halld environment on startup.

echo 'source ~/halld/build_scripts/gluex_env.sh'>>~/.bashrc

and update environment

source ~/.bashrc


5. Set clang to be a default compiler

sudo update-alternatives --set c++ /usr/bin/clang++

one can check and change it later by:

sudo update-alternatives --config c++


6. Build first bunch of things. Notice that clhep requires clhep directory to be created

make -f build_scripts/Makefile_all xerces_build
make -f build_scripts/Makefile_all hdds_build
make -f build_scripts/Makefile_all root_build
make -f build_scripts/Makefile_all ccdb_build
#to make clhep we have to create a dir 'clhep' in GLUEX_TOP
mkdir clhep
make -f build_scripts/Makefile_all clhep_make


7. Building cernlib requires several tricks.

First, cernlib requires gmake. Lets make gmake

sudo ln -s /usr/bin/make /usr/bin/gmake

There is a problem with freetype includes. We have to add it explicitly before building the lib. Add next environment variables in session where you build cernlib or add to ~/.bashrc

export C_INCLUDE_PATH=/usr/include/freetype2:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/usr/include/freetype2:$CPLUS_INCLUDE_PATH

Apply fix for getarg_ problem (thanks for Mark's blog)

cp -v ~/halld/build_scripts/patches/getarg_fix/* programs/Simulation/HDGeant/

Finally build cernlib

make -f build_scripts/Makefile_all cernlib_build


8. JANA

SBMS looks for liblapack3 but ubuntu have it like liblapack.so.3 (This patch doesn't concern BMS build. But is required if one would like to use scons in future)

sudo ln -s /usr/lib/liblapack.so.3 /usr/lib/liblapack3.so

build

make -f build_scripts/Makefile_all jana_build


9. Finally we build sim-recon

make -f build_scripts/Makefile_all sim-recon_build


10. Test it working



SBMS

Alternative way is to build JANA and sim-recon using scons SBMS. Here are steps to steps 9 and 10 using SBMS


8. JANA

Create a directory for JANA

mkdir ~/halld/jana
cd ~/halld/jana

Choose and check out the latest tag. I use jana_0.7.1p1 as an example. Link 'prod' to jana_0.7.1p1

svn ls https://phys12svn.jlab.org/repos/tags
svn co https://phys12svn.jlab.org/repos/tags/jana_0.7.1p1
ln -s jana_0.7.1p1 prod

go to prod, build and install using scons.

cd ~/halld/jana/prod
scons
scons install

Jana created environment script which is have to be used before using jana. Add it to .bashrc

echo 'source ~/halld/jana/prod/$BMS_OSNAME/setenv.sh'>>~/.bashrc
source ~/.bashrc

9. sim-recon

Do the same steps to build sim-recon.

Create directory and checkout sim-recon

mkdir ~/halld/sim-recon
cd ~/halld/sim-recon
svn co https://halldsvn.jlab.org/repos/trunk/sim-recon trunk 
ln -s trunk prod

go to prod/src, build and install using scons.

cd ~/halld/sim-recon/prod/src
scons
scons install

Add environment script to .bashrc

echo 'source ~/halld/sim-recon/prod/$BMS_OSNAME/setenv.sh'>>~/.bashrc
source ~/.bashrc

Done!