Installation Draft
UNDER CONSTRUCTION
Prerequisites
While these tutorials assume you wish to process XTC streams at SLAC, some users have stills collected from other sources and do not need the full PSDM suite. If this is the case, see the installation directions below. Otherwise, it is assumed that the PSDM software distribution has been set up. Developers may additionally want to set up an ssh-agent. Note again that several sites already have cctbx.xfel installed, and that this step can be skipped for regular users not involved in the development of the software. Once cctbx.xfel has been installed it must be set up before it can be used.
Finally, you must have a user account on cci.lbl.gov in order to proceed, or else you will not be able to download the sources.
Standard installation using PSDM
This step has to be performed on a host with Internet access. Not all hosts at SLAC have that, but the members of e.g. pslogin pool do. Make and change to a working directory to contain the new source code and build (this directory should be accessible from any computing nodes cctbx.xfel will be run. Then download these bootstrap modules:
svn export svn://svn.code.sf.net/p/cctbx/code/trunk/libtbx/auto_build/bootstrap.py
Then:
python bootstrap.py hot update --builder=xfel --cciuser=<cciusername> --sfuser=<sourceforgeusername>
This command instructs bootstrap.py to download static packages required for cctbx.xfel (hot), and then to checkout the rest of the sources from cci.lbl.gov and sourceforge.net (update), using the user accounts specified by the cciuser and sfuser parameters, respectively.
After downloading the sources, you need to be sure you have the appropriate compilers before executing the next command. At SLAC, that means you need to ssh to one of the psana nodes, as the pslogin nodes do not have the requisite compilers. When ready, configure and compile thusly:
python bootstrap.py build --builder=xfel --with-python=`which python`
On SLAC's interactive nodes, this takes just over 6 minutes. To avoid problems with run-time dynamic linking of Python extensions, the Python interpreter required for the above command must be the one provided by the PSDM software distribution. That interpreter can be located using find, e.g.
$ find $SIT_ROOT/sw/external/python -perm /0111 -type f -wholename "*/$SIT_ARCH/*/python" 2> /dev/null
At SLAC this interpreter is located somewhere under /reg/g/psdm/sw/external/python
. Here we use `which python` to get this path automatically.
Initialise the running shell using the newly created configuration files. bash-users should
$ . build/setpaths.sh
while csh-users will instead need to run
% source build/setpaths.csh
To finalize the installation, see Setup.
External links