Difference between revisions of "Online release"
From GlueXWiki
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. | |
− | + | ||
+ | * 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: | ||
$ 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: | ||
$ 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): | ||
$ 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: | ||
$ 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): | ||
$ 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: | ||
$ 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): | ||
$ 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 and 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: | ||
$ 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