Difference between revisions of "Solid install"
(→how to compile GEMC) |
(→general way) |
||
Line 89: | Line 89: | ||
some instruction [https://gemc.jlab.org/gemc/Support/Entries/2011/8/1_Step_by_Step.html] | some instruction [https://gemc.jlab.org/gemc/Support/Entries/2011/8/1_Step_by_Step.html] | ||
− | some old instruction [http://clasweb.jlab.org/wiki/index.php/Detailed_instructions | + | some old instruction [http://clasweb.jlab.org/wiki/index.php/Detailed_instructions] |
== SoLID built upon GEMC, using it as a toolkit. == | == SoLID built upon GEMC, using it as a toolkit. == |
Revision as of 19:56, 26 January 2012
Contents
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
simple way, on ifarm
it's very easy to compile on ifarm.
So ssh to ifarml64, 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 all dependent library, like root,geant4,evio,clhep etc, you can copy the newly built gemc to your local machine, then you can this new compiled 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)
http://hallaweb.jlab.org/12GeV/SoLID/download/sim/gemc (based on SVN version 5587)
general way
To compile on general platform, still more work needs to be done.
some instruction [5]
some old instruction [6]
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.