2.0 Downloading Legion 1.5

Legion 1.5 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:

The IRIX 6.4 binaries are compiled using 32-bit flags. The resulting binaries are compatible with IRIX 5.x. However, due to differences in header files between the two OS versions, Legion currently compiles only on IRIX 6.4.

Legion has been ported to several Cray IEEE architectures (C90, T90, T3E) using the native Cray C++ compiler. However, the binaries produced are excessively large, due to a compiler bug. Therefore, we are not releasing a binary version of Legion for the Cray 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.5 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 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
        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

The distribution packages provided are compressed tar files created with gnu tar and gzip. Using a non-gnu tar program may result in some files names being truncated. You can download these tools for free from GNU at <http://www.gnu.org>. You also must have /bin/ksh installed in your system. There are a number of Legion scripts that will look for ksh, and if it is not installed in your system you will get error messages.

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 two to three 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.5.1.tar.gz

and untar it:

tar xvf Legion-<platform_name>-V1.5.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 for 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 tar and gzip. The distribution packages provided are compressed tar files created with gnu tar and gzip. Using a non-gnu tar program may result in some files names being truncated.
  3. GNU flex and GNU bison. These are needed for both the MPLC compiler and some security features.
  4. Perl version 5.

You also must have /bin/ksh installed in your system. There are a number of Legion scripts that will look for ksh, and if it is not installed in your system you will get error messages.

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, so we suggest adding the appropriate lines from above to your .profile or .login file. $LEGION/../OPR is suggested for the OPR root directory path.

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. You may need to add -lresolv to the LFLAGS variable in the macros file for some Solaris installations, 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.*

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

Back to System Administrator Manual Table of Contents

Directory of Legion 1.5 Manuals