Difference between revisions of "Online release"

From GlueXWiki
Jump to: navigation, search
m
m
Line 10: Line 10:
  
  
* Log into the hdsys account.
+
1. Log into the hdsys account.
  
  
* Go to the official release area, create a new release directory structure:
+
2. Go to the official release area, create a new release directory structure:
  
 
  $ cd /gluex/builds
 
  $ cd /gluex/builds
 
  $ mkdir theRelease
 
  $ mkdir theRelease
+
 
 
  $ cd theRelease
 
  $ cd theRelease
 
  $ mkdir packages
 
  $ mkdir packages
+
 
 
  $ cd packages
 
  $ cd packages
  
  
* Check out the buildScripts package and create top-level SConstruct file:
+
3. Check out the buildScripts package and create top-level SConstruct file:
  
 
  $ svn co https://halldsvn.jlab.org/repos/trunk/online/packages/buildScripts
 
  $ svn co https://halldsvn.jlab.org/repos/trunk/online/packages/buildScripts
Line 30: Line 30:
  
  
* Check out other packages:
+
4. Check out other packages:
  
 
  $ svn co https://halldsvn.jlab.org/repos/trunk/online/packages/somePackage
 
  $ svn co https://halldsvn.jlab.org/repos/trunk/online/packages/somePackage
Line 39: Line 39:
  
  
* Set path to point to gcc 4.8.0 (or whatever compiler you want):
+
5. Set path to point to gcc 4.8.0 (or whatever compiler you want):
  
 
  $ setenv PATH /apps/gcc/4.8.0/bin:"$PATH"
 
  $ setenv PATH /apps/gcc/4.8.0/bin:"$PATH"
  
  
* Set LD_LIBRARY_PATH for this compiler:
+
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"
 
  $ setenv LD_LIBRARY_PATH /apps/gcc/4.8.0/lib64:/apps/gcc/4.8.0/lib:"$LD_LIBRARY_PATH"
  
  
* 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):
+
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  
 
  $ setenv PYTHONPATH /gluex/builds/theRelease/packages/buildScripts/scripts  
  
  
* Set PERL path to point to build scripts, also will be released later:
+
8. Set PERL path to point to build scripts, also will be released later:
  
 
  $ setenv PERL5LIB /gluex/builds/theRelease/packages/buildScripts/scripts
 
  $ setenv PERL5LIB /gluex/builds/theRelease/packages/buildScripts/scripts
  
  
* Set environment variables needed for the build (note that eventually a system script will take care of this step):
+
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
 
  $ setenv CMSG /gluex/coda_install-dir/Linux-x86_64
Line 65: Line 65:
  
  
* Build and install everything (except Java, see below):
+
10. Build and install everything (except Java, see below):
  
 
  $ scons  
 
  $ scons  
Line 71: Line 71:
  
  
* Currently Java code must be built separately, until this is fixed do the following:
+
11. Currently Java code must be built separately, until this is fixed do the following:
  
 
  $ scons java
 
  $ scons java
 
  $ scons install INSTALL_DIR=/gluex/builds/theRelease
 
  $ scons install INSTALL_DIR=/gluex/builds/theRelease

Revision as of 16:40, 15 May 2013

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