Online release

From GlueXWiki
Revision as of 16:40, 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.


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):

$ setenv PATH /apps/gcc/4.8.0/bin:"$PATH"


6. Set LD_LIBRARY_PATH for this compiler:

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


7. Set PYTHON path 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 


8. Set PERL path to point to build scripts, also will be released later:

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


9. Set 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)


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

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


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

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