Online release
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 assume they don't exist):
$ 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 CMSG /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 INSTALL_DIR=/gluex/builds/theRelease