Chapter 7 Getting Started

Table of Contents
7.1 Setting Up Environment
7.2 Using The Right Make Program
7.3 Customising CVS
7.4 Running Software
7.5 Accessing Release Documentation

7.1 Setting Up Environment

The very first thing to do is to set up your environment. This assumes that the Software Release Tools have already been installed; you are not expected to do it. If you do not know the installation location, you should contact your software coordinator to find out. You should also follow the advice from your software librarian to set your paths and other settings such that compilers and various other tools will work properly. It is also a good idea to familiarise yourself with your project's practises and policies.

Assuming the release tools have been installed in /afs/cern.ch/atlas/software, you would issue the following commands in a Bourne-compatible shell (note the dot character for sourcing a file--it is not a random ink blob):
$ PATH=$PATH:/afs/cern.ch/atlas/software/bin
$ . `srt setup`

A user of a C-shell would write:
$ setenv PATH ${PATH}:/afs/cern.ch/atlas/software/bin
$ source `srt setup -s csh`

Running the setup tool as shown above will set certain environment variables needed by the other tools and by the makefile support. Therefore, it ought to be run for every shell in which you will use SRT. A convenient way of achieving this is to execute the above steps in your shell's initialisation file (depending on the flavour of the shell you run, it might be one of .zshenv, .bashrc, .profile, or .cshrc).

The variables that will be set are shown below.[1]

$SRT_HOME

The location of the release tools files: the tool scripts, the makefile fragments, and the like.

$SRT_DIST

The location of the official releases. Each release is a subdirectory under $SRT_DIST, such as 1.1.4. When the release tools expect an official release to be named, such as with the new and base tools, they need to exist under $SRT_DIST.

$SRT_ARCH

The normalized canonical architecture name of your machine, as it would be printed out with the arch tool.

$SRT_CONF

The name of the compiler configuration. If this variable is not set or is empty, the default value for the architecture will be chosen (the default configurations distributed with SRT are shown in Table 20-1, ``Supported Targets'', but please note that your local settings may be different as the software librarian can configure these). If it is set, the value will not be changed, nor checked for validity. Therefore, if you want a compiler other than the default one, or if you want to switch compilers, you can set $SRT_CONF to the desired value and run (or rerun) the setup tool as shown in the beginning of this section.

$SRT_TARGET

A shorthand for $SRT_ARCH/$SRT_CONF.

Finally, if you work on Windows NT and you will compile packages that use CERNLIB, you will need to make sure that $SRT_HOME/contrib is in your $PATH. This will give you a cernlib command that works more or less the same as its UNIX cousin, enabling you to use that command in the library lists in your makefiles in a portable way. This kludge will probably disappear in future: CERNLIB will most likely be supported directly without you needing to use the cernlib command at all.

Notes

[1]

The SRT prefix on the variables may be different for your project if the software librarian so chose. You will need to use the prefix chosen by your librarian where this guide uses SRT.

[1]

The variable is LD_LIBRARY_PATH on most platforms, except that on HP-UX it is SHLIB_PATH, on AIX it is LIBPATH, and on Windows NT it is PATH (if the application was compiled with the Cygwin32, LIBRARY_PATH applies as well). Please refer to your operating system's documention for more details.