Solid install

From Hall A Wiki
Revision as of 19:53, 25 January 2012 by Zwzhao (Talk | contribs) (General Instruction)

Jump to: navigation, search

General Instruction

First of all, use 64 bit system, don't use 32 bit system, as it's not future proof and jlab farm has gone to 64 bit Linux system already

Before anything, read general GEMC info at http://gemc.jlab.org

There are a couple way to install and run GEMC.

  • on ifarm, there are pre-compiled version ready to use and you can easily compile it from source code. then it's easy to running batch mode in a terminal or submit a job to farm. for interactive mode, due to the OpenGL 3D rendering, it's too slow to run if you ssh in and do X11 forward to your local machine. The solution is to run vncserver with X window on ifarm and connect to it remote, this way it's not too slow if your network speed is ok. But this's not recommend because it demands a lot resource from ifarm which is shared by many users.
  • on your local machine, you will have full power for the interactive mode, but you have to install it first. The easy way is to install rpm, compile source code on ifarm and copy the executable to your local machine and run it. This is possible if you have an operating system similar to ifarm system. The general way is to get the source code and its depending packages and compile everything yourself.

install with rpm

It's best if your computer system is redhat Enterprise Linux 5 (RHEL5) 64bit or Fedora 14 64bit (second choice), you can install the pre-compiled rpm packages.

(do "uname -a" and "more /etc/redhat-release" to check your system version)

For rpm installation, it's easy to use yum (refer to [1]). If it somehow doesn't work, download them directly from http://www.jlab.org/12gev_phys/RPMS/ to a local directory, then install them manually as root to run "rpm -i *.rpm".

note: 1. you can download and manual install el5 rpms and use them on centos and scientific linux
      2. el5 and el5 client are same packages
      3. there's a bug in el5 rpm package for now, after rpm installations, do following to have a workaround
          su -l
          cd /usr/local/jlab_software/
          ln -s Linux_CentOS5.3-x86_64-gcc4.1.2 Linux_RH-x86_64-gcc4.1.2
      4. As 2012/01, both el5 and fedora 14 are outdated , they are compiled with geant4.9.3. fedora 15 is up2date and compiled with geant4.9.4p02

If your computer system is none of above, you can install gemc in a virtual machine. I recommend vmplayer [2] and install CentOS 5 x64[3] which is the same system ifarm use. Then you can use download rpms for redhat Enterprise Linux 5 and install them manually. Make sure to install vmware-tool in the CentOS guest system for better graphic performance.

As solid is driving a lot of GEMC development and it's hard for the rpm package release to catch up. Just install rpm packages is not enough. You do need to get production version or latest version of GEMC source code to run simulation for SoLID.

Besides, if you are working with any geometry/field/banks files, you need check out those files located within the same source code tree.

To check out the source code tree and compile it, see further info below.

Solid GEMC source code

GEMC source code is stored in SVN, to learn some basic about the version control system, refer to Subversion help and google more.

The location is at

https://clas12svn.jlab.org/repos/trunk/clas12/gemc/production/
(all svn sub directory in the wiki is relative to this location)

To checkout, do this (it will ask your jlab user name and password)

svn co -r VERSION_NUMBER https://clas12svn.jlab.org/repos/trunk/clas12/gemc/production/
If you want latest version, remove "-r VERSION_NUMBER"
If you want the latest production version, replace the "VERSION_NUMBER" with the latest production version number for SoLID below
latest production version 5583, updated 2012/01/25, see solid GEMC version historty  for details of changes

how to get working version number: go to top svn directory, run "svn update", then run "svnversion"

You'd better use a graphic svn client to get alerted once updates show up. I like "kdesvn" or you may check out this list [4]

here is a WebSVN browser

how to compile GEMC

To used latest feature of gemc, you need to compile the code yourself.

general way

For now, Mauri is working on make the way to compile on general platform.

Some old instruction is here

simple way, on ifarm

But it's very easy to compile on ifarm.

So go to ifarml64 which are 64bit CentOS now

then run

svn co https://clas12svn.jlab.org/repos/trunk/clas12/gemc/production/
cd production
source /site/12gev_phys/ce/jlab.csh
scons OPT=1 -j4

Then you should have gemc binary code in the current directory.

You can run the newly built gemc on ifarm, but the OpenGL graphic will be slow.

Or if you already gemc rpm installed on your local machine which gives you many gemc dependent library, like root,geant4,evio,clhep etc, you can copy the newly built gemc to your local machine, then you can this new version of gemc. The assumption here is that the version of those external libraries has not changed, only the gemc source code change for this new build.

The binary code compiled on ifarm will work on x64 of RHEL5, fedora14, fedora15.

For your convenience, here is a copy of the binary code compiled on ifarm (CentOS 5.3 64bit) which can be used on Fedora 14 64bit system also.

http://hallaweb.jlab.org/12GeV/SoLID/download/sim/gemc (based on SVN version 5587 )


SoLID built upon GEMC, using it as a toolkit.

Another way to run solid simulation is to use GEMC as library,

To get the code specific to SoLID, solgemc:

 svn checkout https://jlabsvn.jlab.org/svnroot/solid/solgemc

solgemc Installation Instructions

solgemc installation outside JLAB

Other Solid software in svn

 https://jlabsvn.jlab.org/svnroot/solid

It includes other Solid related program, like event generator etc.