Difference between revisions of "Install HallD Software on Ubuntu"

From GlueXWiki
Jump to: navigation, search
Line 1: Line 1:
Here is a complete list of commands to install and run sim-recon on fresh installed Ubuntu. Tested with Ubuntu 13.10
+
Here is a complete list of commands to install and run sim-recon on fresh installed Ubuntu. Tested with Linux Mint 17
  
 
Complete list means that one can open a terminal right after ubuntu instillation and install halld software by copy/paste commands one by one.
 
Complete list means that one can open a terminal right after ubuntu instillation and install halld software by copy/paste commands one by one.
Line 10: Line 10:
  
  
1. Install all things with dependencies. (Probably it is more than required for only gluex-software)
+
1. Install all things with dependencies.
  
  sudo apt-get install vim scons gcc subversion pythia8-root-interface python-dev libgeant321-2-dev
+
  svn co https://halldweb1.jlab.org/repos/trunk/scripts/gluex_install
  sudo apt-get install geany-plugins clang llvm-dev build-essential libxft-dev cernlib-base-dev libxft-dev
+
  sudo ./gluex_install/gluex_prereqs_linuxmint_x86_64.sh
  sudo apt-get install libfreetype6-dev:i386 paw libmysqlclient-dev libbz2-dev tcsh xutils-dev libcurl3-dev libatlas-base-dev
+
  ./gluex_install/gluex_install.sh &>build_gluex.log
  
 
+
It takes time to compile everything. But... That is it
 
+
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 [http://markito3.wordpress.com/author/markito3/page/29/ (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. [[Quick Start Guide to building GlueX Software#Create_a_run_directory|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!
+

Revision as of 12:25, 1 December 2014

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

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


0.

sudo apt-get update && apt-get upgrade


1. Install all things with dependencies.

svn co https://halldweb1.jlab.org/repos/trunk/scripts/gluex_install
sudo ./gluex_install/gluex_prereqs_linuxmint_x86_64.sh
./gluex_install/gluex_install.sh &>build_gluex.log

It takes time to compile everything. But... That is it