Online release

From GlueXWiki
Revision as of 16:46, 15 May 2013 by Wolin (Talk | contribs)

Jump to: navigation, search

How To Make an Online Release with SCONS

Introduction

Official online releases must be made from the hdsys account. You can make a release in your own area by following the instructions below, with some obvious modifications.

Eventually much of this will be automated.


1. Log into the hdsys account on the Hall D online computing cluster. If you don't know how to do this then you should not be making official releases!


2. Go to the official release area, create a new release directory structure:

$ cd /gluex/builds
$ mkdir theRelease
 
$ cd theRelease
$ mkdir packages
 
$ cd packages


3. Check out the buildScripts package and create top-level SConstruct file:

$ svn co https://halldsvn.jlab.org/repos/trunk/online/packages/buildScripts
$ cp buildScripts/scripts/SConstruct_for_package_dir SConstruct


4. Check out other packages:

$ svn co https://halldsvn.jlab.org/repos/trunk/online/packages/somePackage
... check out more packages if desired ...

$ ls 
somePackage/ buildSCripts/  SConstruct


5. Set PATH to point to gcc 4.8.0 (or whatever compiler you want) and set LD_LIBRARY_PATH accordingly:

$ setenv PATH /apps/gcc/4.8.0/bin:"$PATH"
$ setenv LD_LIBRARY_PATH /apps/gcc/4.8.0/lib64:/apps/gcc/4.8.0/lib:"$LD_LIBRARY_PATH"


6. Set PYTHON and PERL paths to point to build scripts previously checked out (later these scripts will be released into another area, but for now use the versions just checked out):

$ setenv PYTHONPATH /gluex/builds/theRelease/packages/buildScripts/scripts 
$ setenv PERL5LIB /gluex/builds/theRelease/packages/buildScripts/scripts


7. Set package environment variables needed for the build (note that eventually a system script will take care of this step):

$ setenv CMSGROOT /gluex/coda_install-dir/Linux-x86_64
(set others as needed, e.g. for EVIO, ET, CODAOBJECT, etc)


8. Build and install everything (except Java, see below):

$ scons 
$ scons install INSTALL_DIR=/gluex/builds/theRelease


9. Currently Java code must be built separately, until this is fixed do the following:

$ scons java
$ scons install java INSTALL_DIR=/gluex/builds/theRelease