In the following, I compiled some useful information / links / problems that I encountered during my try to install the ScienceTools myself on a machine at CEA Saclay (i.e., external). No claim of completeness whatsoever, and a lot of these things might be obvious for most.  

 

CVS : getting the latest ScienceTools

 

Look at the ScienceTools scripts online: CVS repository

You need a SLAC user account. If you don't have it, see Obtaining a SLAC account (2014), Setting up SLAC Accounts (2012),  Getting a New SLAC Account (~ 2000)

Setting up CVS: 

Follow the steps in Using the GLAST SLAC cvs Repository, then 

--> write a mail to Thomas Glanzman to get CVS access for your account. 

--> you will have to logout and login for the change to take effect. 

--> you should have (if you have an external account):

 

CVSROOT -> :ext:YOURSLACUSERNAME@centaurusa.slac.stanford.edu:/nfs/slac/g/glast/ground/cvs
CVS_RSH -> ssh

 

Check the available versions of ScienceTools: New Release Manager web interface 

How to get the ScienceTools (here, version LATEST-1-4167):

cvs co -r ScienceTools-LATEST-1-4167 ScienceTools-scons
 

Get the CVS status:

cvs status

Get the CVS update:

cvs up



SCons: Building the ScienceTools

SCons version SCons 1.3 required (SCons)

How to use SCons: SCons for Fermi/LAT: An Overview,  Making Builds with SCons 

Environment variable $GLAST_EXT:

The environment variable GLAST_EXT should be suitably defined. (...) 

Note: The --with-GLAST-EXT option must always be supplied; others are optional under most circumstances.”

This is the variable defining the directory of external programs (e.g. python).

I pointed the GLAST_EXT variable to the ScienceTools RELEASE, which is not the place where I want to install the latest ScienceTools version. 

 

$GLAST_EXT=/dsm/saplxglast/glast/sas/Binary/ScienceTools-RELEASE-10-01-01-sympy

 

 

How to build the ScienceTools:

(assuming you want to build a package called 'astro')

scons --with-GLAST-EXT=${GLAST_EXT} --compile-debug astro

 

I put some example output at the end of this page


Remark (python code):

python code, let's say the script foo.py example in 

ScienceTools-scons/pointlike/python/uw/like/foo.py 

will be copied to 

ScienceTools-scons/python/uw/like/foo.py 

when you build the respective package (here: pointlike. For the example output, see end of this page)

So do not change the code in the python package directly


Remark (dependencies):

SCons should handle dependencies correctly. However, at the moment there seems to be an issue when compiling the skymaps before astro package. Follow this thread: 


Environment

Obviously, in order to use your brand new installation of the ScienceTools, you would need to adjust your environment. 

You might consider changing the following environmental variables:

PATH
ST_INST
INST_DIR
LD_LIBRARY_PATH
TCL_LIBRARY
DYLD_LIBRARY_PATH
PYTHONPATH
 
## e.g. 
export PATH=$MY_ScienceTools:${PATH}:.
 

E.g., one could create a second bashrc script that sets the environment so that you can chose between the 'standard' installation and your own one. 



Example output of building with SCons:

 
jschmid@sappcfermi ScienceTools-scons$scons --with-GLAST-EXT=${GLAST_EXT} --compile-debug pointlike
scons: Reading SConscript files ...
 
This build is running on:  sappcfermi.extra.cea.fr 
 
Argument list (one per line):
=>  /opt/core-3.1-amd64/scons/2.3.4/bin/scons
=>  --with-GLAST-EXT=/dsm/saplxglast/glast/sas/Binary/ScienceTools-RELEASE-10-01-01-sympy
=>  --compile-debug
=>  pointlike
 
 
Checking for C++ header file CLHEP/Vector/defs.h... (cached) yes
Checking for C++ library CLHEP... (cached) yes
( ................)
Install file: "pointlike/build/redhat5-x86_64-64bit-gcc41-Debug/python/uw/utilities/fitstools.py" as "python/uw/utilities/fitstools.py"
scons: done building targets.
scons: printing failed nodes
scons: done printing failed nodes