Legion 1.4
System Administrator Manual

2.0 Downloading Legion 1.4

Legion 1.4 is available in two forms, already compiled binaries or source code (make files are included to do the compiling), on the Legion web site at <http://legion.virginia.edu/download/index.html>.

Legion is currently available for the following platforms:

Note that the IRIX 5.x binaries are compatible with IRIX 6.x, but due to problems making g++ for IRIX 6.x we do not currently support compiling the system from source code on this platform.

2.1 RSA requirements

This version of Legion makes use of and includes the source for a modified version of the RSAREF 2.0 public-key cryptographic toolkit. Under U.S. law, this toolkit is export controlled, and we have therefore password-protected the tar files for both source code and binary file versions of Legion.

The security mechanisms in Legion VaL 1.4 are based on RSAREF, a freely available cryptographic toolkit from RSA Laboratories. Under the terms of the RSAREF license and U.S. export control laws, we can only distribute Legion with the RSAREF libraries within the U.S. and Canada.

To receive the password please send an e-mail message to Barbara Spangler <bls5r@cs.virginia.edu>. Your note must include the text below as well as your name, address, e-mail address, and telephone number.

  1. I have read the RSAREF Program License Agreement (available on the Legion web site at <http://legion.virginia.edu/download/license.html>) and understand and agree to be bound by its terms and conditions, including without limitation its restrictions on foreign reshipment of the RSAREF program (the "Program") and information related to the Program;

  2. The computer to which I will download the program is located in the United States of America or in Canada;

  3. I am a United States citizen, a Canadian citizen, or a permanent resident of the United States; and

  4. The RSAREF Program License Agreement is the complete and exclusive agreement between RSA Laboratories and myself relating to the Program, and supersedes any proposal or prior agreement, oral or written, and any other communications between RSA Laboratories and myself relating to the Program.

2.2 Downloading binary files

Go to the directory where you wish to place Legion's root directory, and type:

cat Legion.tar.gz | gzip -d | tar xvf -

This will create a root directory called Legion in the current directory, and will include all necessary sub-directories and files.

If you would like to use Legion but do not meet the conditions for RSAREF, you can obtain the Legion source without the RSAREF libraries, obtain the RSAREF sources from a site outside the United States, and then build the complete Legion system. Information about obtaining RSAREF 2.0 from this outside site is available on the Legion web site.

Note that the compressed binary files are large (ranging from 26 to 37 MB), so it may take a few minutes for them to arrive, and that the uncompressed tar file will be about 2-3 times larger. The system will actually need even more space once it is running, since it will be making copies of some of the files. In addition, the binary tar files do not include intermediary object files, which will be created when the system is started.

You must then decide where you want the Legion root directory to reside and move the distribution file to that directory. Next, uncompress the file. (<platform_name> is one of the set {alpha_DEC, alpha_linux, sgi, solaris, linux})

 gunzip Legion-binary-<platform_name>-V1.4.1.tar.gz

and untar it:

 tar xvf Legion-<platform_name>-V1.4.1.tar

This will create a Legion directory tree below your current directory.

2.3 Downloading source code

You will need about 200MB of free disk space and 64MB of virtual memory to build the source code, as well as some specific tools. Please read the list of requirements below before downloading the software. Note that all of these tools are available free from GNU at <http://www.gnu.org>.

  1. GNU g++ version 2.7.x. This is the only compiler that we currently support. There is nothing inherent in our code that precludes using another compiler but porting to another compiler can be a considerable effort, due mostly to header file conflicts.
  2. GNU flex and GNU bison. These are needed for both the MPLC compiler and some security features.
  3. Perl version 5.

The downloaded software will consist of a set of directories, shell scripts, source code files, and makefiles, tarred and compressed into Legion.tar.Z. Once built, the system will need about 125MB of disk space.

The makefile uses $LEGION and other environment variables when directing the compilation process, so the environment must be correctly set up (see below).

2.4 Setting up the user environment

A properly set-up Unix environment is necessary for configuring and running a Legion system. The Legion compilation, configuration, and start-up processes all use certain Legion-specific environment variables, which must be correctly set in order to use the system, start applications, and run command-line utility programs.

Among the variables that are set is the OPR directory. Legion objects are endowed with a persistent representation in which they can store volatile state, in the event that they must be deactivated during the operation of the system. Objects might also use their persistent representation to store data structures that are too large to contain in volatile storage (e.g., a file object need not keep its entire state, including the contents of the file, in memory). The persistent representation of an object is referred to as a Legion Object Persistence Representation, or OPR. OPRs are stored in vaults. The OPR directory organizes storage of this data and allows the system to locate and reactivate objects as necessary.

Before continuing with the installation process, you must do the following:

These steps are shown below. This procedure must be repeated EACH TIME you start a new shell, or log in to use Legion. Therefore, it is a good idea to add the appropriate lines from above to your .profile or .login file.

For the OPR root directory path, $LEGION/../OPR is suggested.

ksh or sh users should enter:

export LEGION=<Legion root dir path>
export LEGION_OPR=<Legion OPR root dir path> 
. $LEGION/bin/legion_env.sh

csh users should enter:

setenv LEGION <Legion root dir path>
setenv LEGION_OPR <Legion OPR root dir path>
source $LEGION/bin/legion_env.csh

2.5 Compiling source code

If you have downloaded source code, you can now compile it. Be sure that the paths to critical programs are properly set in the Legion macro files. Macro files are broken up by platform and compiler, so the macro file of interest will be called $LEGION/src/LibraryCode/macros/<platform_ name>.<compiler_name>.macros. For some solaris installations you may need to add -lresolv to the LFLAGS variable in the macros file, depending on your DNS installation.

To make the system, type:

$ cd $LEGION/src
$ make all

Once compilation is complete, the system is ready for configuration and start-up.1

1.Not all parts of the system will be built in this step. The MPI and fractal directories may need to be individually compiled, with the make command.

Back to System Administrator Manual Table of Contents