Difference between revisions of "Online release"

From GlueXWiki
Jump to: navigation, search
m
m
Line 6: Line 6:
 
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.
 
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.
  
# Log into the hdsys account.
+
* Log into the hdsys account.
  
# Go to the official release area, create a new release directory structure:
+
 
 +
* Go to the official release area, create a new release directory structure:
  
 
  $ cd /gluex/builds
 
  $ cd /gluex/builds
Line 18: Line 19:
 
  $ cd packages
 
  $ cd packages
  
# Check out the buildScripts package and create top-level SConstruct file:
+
 
 +
* 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
 
  $ cp buildScripts/scripts/SConstruct_for_package_dir SConstruct
 
  $ cp buildScripts/scripts/SConstruct_for_package_dir SConstruct
  
# Check out other packages:
+
 
 +
* 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 31: Line 34:
 
  somePackage/ buildSCripts/  SConstruct
 
  somePackage/ buildSCripts/  SConstruct
  
# Set path to point to gcc 4.8.0 (or whatever compiler you want):
+
 
 +
* 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:
+
 
 +
* 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):
+
 
 +
* 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:
+
 
 +
* 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):
+
 
 +
* 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
 
  (set others as needed, e.g. for EVIO, ET, CODAOBJECT, etc)
 
  (set others as needed, e.g. for EVIO, ET, CODAOBJECT, etc)
  
#  Build everything:
 
  
  $ scons
+
* Build and install everything:
 
+
#  Install everything
+
  
 +
$ scons
 
  $ scons install INSTALL_DIR=/gluex/builds/theRelease
 
  $ scons install INSTALL_DIR=/gluex/builds/theRelease
  
# Currently Java code must be build separately, until this is fixed:
+
 
 +
* Currently Java code must be build separately, until this is fixed:
  
 
  $ scons java
 
  $ scons java
 
  $ scons install INSTALL_DIR=/gluex/builds/theRelease
 
  $ scons install INSTALL_DIR=/gluex/builds/theRelease

Revision as of 16:33, 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.

  • Log into the hdsys account.


  • Go to the official release area, create a new release directory structure:
$ cd /gluex/builds
$ mkdir theRelease

$ cd theRelease
$ mkdir packages

$ cd packages


  • 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


  • 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


  • Set path to point to gcc 4.8.0 (or whatever compiler you want):
$ setenv PATH /apps/gcc/4.8.0/bin:"$PATH"


  • 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"


  • 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 


  • Set PERL path to point to build scripts, also will be released later:
$ 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):
$ setenv CMSG /gluex/coda_install-dir/Linux-x86_64
(set others as needed, e.g. for EVIO, ET, CODAOBJECT, etc)


  • Build and install everything:
$ scons 
$ scons install INSTALL_DIR=/gluex/builds/theRelease


  • Currently Java code must be build separately, until this is fixed:
$ scons java
$ scons install INSTALL_DIR=/gluex/builds/theRelease