Ha14 installation
Prerequisite: install and set up the PSDM suite
It is assumed that the PSDM software distribution has been set up. 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.
Download and extract a source tree
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. psexport pool do. In what follows, the absolute path /path/to/cctbx/sources
should be replaced with something more appropriate (a site-wide install will benefit from a location on a shared disk, whereas ~/projects/phenix-src
is a common choice among developers). The directory must accessible everywhere cctbx.xfel is to be run.
Regular users
$ mkdir -p /path/to/cctbx/sources $ cd /path/to/cctbx/sources $ wget http://cci.lbl.gov/cctbx_build/results/2013_08_13_0005/cctbx_bundle.tar.gz $ wget http://cci.lbl.gov/~hattne/labelit/labelit_bundle_20130814.tar.gz $ mkdir cctbx_project $ tar -xpvzf cctbx_bundle.tar.gz -C cctbx_project --strip-components=1 $ tar -xpvzf labelit_bundle_20130814.tar.gz
{{#invoke:Message box|mbox}}
Developers
A user account on cci.lbl.gov is required, the name of which is to be substituted for user
below.
$ mkdir -p /path/to/cctbx/sources $ cd /path/to/cctbx/sources $ svn export svn+ssh://user@cci.lbl.gov/phenix_regression/trunk/phenix_svn_getting_started.csh $ ./phenix_svn_getting_started.csh user $ rm phenix_svn_getting_started.csh
Create the cxi_user
directory
Add the cxi_user
directory and its __init__.py
module. This defines the default integration algorithm used by cctbx.xfel.
$ mkdir cxi_user $ cat > cxi_user/__init__.py << EOF from xfel.mono_simulation.mono_treatment import post_outlier_rejection from xfel.mono_simulation.mono_treatment import pre_get_predictions EOF
Configure the source tree
The Python interpreter required for the next step must be the same interpreter 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
. Then create and initialize the build directory using the appropriate Python interpreter. Developers may want to use slightly different configuration options, see Installation for developers.
$ mkdir -p /path/to/cctbx_build $ cd /path/to/cctbx_build $ python /path/to/cctbx/directory/cctbx_project/libtbx/configure.py xfel
where python
should be substituted with output of the previous find command. The name and location of the build directory is arbitrary; /path/to/cctbx/directory/cctbx_build
is a common choice.
Compile the sources
Initialise the running shell using the newly created configuration files. bash-users should
$ . setpaths.sh
while csh-users will instead need to run
% source setpaths.csh
The next step requires a C++ compiler. At SLAC, the members of the psexport pool do not have any compilers installed, but the interactive nodes, reachable via psanacs, do.
$ make
On SLAC's interactive nodes, this takes just over 6 minutes. To finalize the installation, see Setup.
External links