Difference between revisions of "DF JLab Software Install Instructions"

These instructions are for installing the software on Ubuntu 16.04. It is assumed that you start in a directory named JLabSoftware which contains the directories CED, COATJAVA, DB, and GEMC

CE

These instructions set up the common environment and GEMC with it. Skip if you don't intend on installing GEMC.

The CE is dependent on the following packages which can be easily installed by sudo apt-get install <package>:

• g++
• mysql-client
• libmysqlclient-dev
• libx11-dev
• libxext-dev
• libglu1-mesa-dev
• libxt-dev
• libxmu-dev
• libxrender-dev
• libexpat1-dev
• libxft-dev
• tcsh
• cmake
• git
• libafterimage-dev
• scons
• gawk

Now, assuming you're in the JLabSoftware directory:

cd GEMC
mkdir 2.2
wget http://www.jlab.org/12gev_phys/packages/sources/ceInstall/ceInstall_2.2.tar.gz
tar -zxpf ceInstall_2.2.tar.gz --strip-components 1 -C 2.2

Go to the home directory and open .bashrc in your preferred text editor. Add the following to the bottom of the file:

export JLAB_ROOT=/path/to/JLabSoftware/GEMC
export JLAB_VERSION=2.2
source $JLAB_ROOT/$JLAB_VERSION/ce/jlab.sh

Now close the terminal and open a fresh one. You should see something like:

Now cd $JLAB_ROOT/2.2/ce and open settings.xcconfig in a text editor. Change the geant4 version to whatever is the latest version from here. Do the same with the file versions.env. You should now be able to run tcsh$JLAB_ROOT/$JLAB_VERSION/install/go_all. Remember to also run ./$JLAB_ROOT/$JLAB_VERSION/install/qt-opensource-linux-x64-<version number>.run The common environment should now be installed. Ensure that the message that displays when opening a new terminal reflects that. Should you experience any segfault errors while attempting to build, ensure that awk is set to gawk: sudo update-alternatives --config awk GEMC These instructions setup GEMC and the clas12Tags repository so that you may easily start simulating clas12 runs. If you haven't already, first complete the CE install above, then: cd$JLAB_ROOT
git clone https://github.com/gemc/clas12Tags
cd clas12Tags/4a.2.3/source/physics

Here you are going to open PhysicsList.cc and uncomment the line auto theParticleIterator = GetParticleIterator();. Then:

cd ../..
scons -j4 OPT=1

This should result in an exectuable file simply called gemc in the directory 4a.2.3/source. When running GEMC, you will be wanting to run this file. So, either always use the full path to target this executable, or set the environmental variable \$GEMC to the absolute path to it.

COATJAVA

All of these assume that you start in the JLabSoftware/COATJAVA directory.

Release Versions

tar -xzf clas12-offline-software-<version>.tar.gz
cd clas12-offline-software-<version>
bash build-coatjava.sh

The tools should be in the directory ./coatjava/bin

Note: While this appears to build correctly, it would seem that I must use bash instead of ./ to run any of the executables in bin.

Official Github Version

mkdir clas12-offline-software-official
git clone -b master https://github.com/JeffersonLab/clas12-offline-software.git clas12-offline-software-official
cd clas12-offlone-software-official
./build-coatjava.sh

First, create a Github account if you don't already have one. Then go to JeffersonLab/clas12-offline-software and hit the fork button. You should now have a repository at github.com/<your-username>/clas12-offline-software.

cd clas-12-offline-software
./build-coatjava.sh

The upstream repository (JLab's) can be added as follows:

git fetch upstream
git checkout master
git merge upstream/master

git push

When you want to push your changes to JLab's repo, you need to go to your github page and push the "pull request" button.

Netbeans Setup Instructions

Can be found here.

CED

Starting from the directory JLabSoftware:

cd CED
wget https://userweb.jlab.org/~heddle/ced/builds/ced.1.003d.tar.gz
tar -xzf ced.1.003d.tar.gz
cd cedbuild
sudo chmod 764 ced.sh

You should now be able to run CED by using ./ced.sh

Note: For some reason I don't appear to have the full functionality I would expect (e.g. magnification doesn't seem to work).

DB

The purpose of setting up a local database is so that you may run simulations without having to rely on JLab's database. This gives you a constant setup that won't be changed without your knowledge.

Procuring the Database

To get the official versions, you must have a JLab account and have access to the clas12 software. Assuming that that isn't the case, copies of several iterations of the database can be found on lds3. The instructions for getting the database onto a local machine are as follows:

cd /path/to/JLabSoftware/DB
ssh daq@daq1.physics.isu.edu
scp lds@lds3.physics.isu.edu:/home/lds/src/CLAS/DB/clas12.sqlite.<date> .
exit
scp daq@daq1.physics.isu.edu:/home/daq/clas12.sqlite.<date> .

Setup for Running Via Command Line

The environmental variables CCDB_CONNECTION and CCDB_DATABASE must be defined and must point to the right spot. Before running a program which relies on the database, you must export (or setenv or what-have-you) the following in some fashion:

CCDB_CONNECTION=sqlite:///path/to/clas12.sqlite.<date>
CCDB_DATABASE=/path/to/clas12.sqlite.<date>

Note the sqlite:///chupa is a relative path and sqlite:////thingy is an absolute path.

Setup for Running Via NetBeans

• In the projects tab, right click on "clas12detector-dc" -> Properties
• In the Actions section:
• Add the environmental variable CCDB_CONNECTION=sqlite:///../../DB/clas12.sqlite.<date>
• Add the environmental variable CCDB_DATABASE=../../DB/clas12.sqlite.<date>