16.0 Running Legion on Windows NT hosts
Version 1.6.x includes a beta Windows NT port option. A Windows NT host contains a full implementation of the Legion libraries and most client-side application tools (such as legion_ls and legion_run). These tools can be run from a DOS window or developers can write new Legion applications with Visual C++. Either way, you must follow the same steps as on a Unix platform (i.e., set up the user environment).
You must have Legion binaries on your machine. These files are available on the Legion web site (<http://legion.virginia.edu>).
We must emphasize that the 1.6.x release Windows NT port is a beta version. Please read the following requirements and limitations before you proceed.
- You cannot use a Windows NT host as a bootstrap host or share an OPR directory with a Unix machine that is already running Legion. Instead, the Windows NT host must have its own OPR with a copy of the necessary files (LegionClass.config, legion_context_env.bat, LegionClass.config._LegionStorage_MetaData_) from another machine's valid OPR. This can be your bootstrap host or another host in your system.
- While Windows NT allows files and directories to be case-insensitive and to be delimited by either / or \ Legion is modeled after the Unix file system, which is case sensitive and uses /as a default delimiter.
- You must set the $LEGION and $LEGION_OPR environment variables prior to running any Legion commands.
- Legion makes use of some temporary files, and it needs to be able to locate these files fairly frequently. Most Windows NT boxes define both a TEMP and a TMP environment variable, so it will first check for a TEMP variable, then for a TMP variable. Failing that it will assume a C:/TEMP directory. One of these three options must yield a valid temporary directory.
- On a Windows NT box there is no equivalent to the Unix method of sourcing a shell script. Instead, you can execute the equivalent batch file: i.e., legion_env.bat in place of source legion_env.csh.
- You can use a tty object on a Windows NT box, but you cannot use the legion_tty tool to create and set it. You must instead use the procedure outlined below and the tty object itself must run on a Unix platform.
- First, create the tty object on a Unix machine:
$legion_create_object /class/ttyObjectClass my_tty
Then set the tty object from the DOS window in which you intend to run your Legion session:
Then run the legion_tty_watch command from the window in which you wish to see the tty object's output:
(See section A-2.0 on page 65 in the Basic User Manual for more information on tty objects.)
16.2 Starting a Windows NT host
You can't use a Windows NT machine as a bootstrap host, so you must have a Legion system already running on another platform. You will be adding your NT machine to this system.
First, you must download the Windows NT binary executables. These files can sit on any mounted drive. These files are available on the Legion web site (<http://legion.virginia.edu>).
Open a DOS window, if you haven't already done so, and set up your Legion environment. Move to the directory containing the Legion executables and run the batch script NTLocalStartup.bat:
Using your machine's host name, the script creates a host object and vault object, and registers the ImplementationCache and ImplementationObject binaries with Legion. It will also contact your Legion system and add the machine to the system's list of available hosts.
A number of basic system objects are provided: the host object, vault object, UnixImplementationClass, UnixImplementationCacheClass, ContextObjects, BasicFileObjects, TwoDFileObjects, JobProxyObject, and all other major class objects. In order to use these, however, you must execute the batch file InitNTArch:
This script registers the Windows NT implementations of these objects with your Legion system. You should then set your environment variables:
16.3 Using a Windows NT client machine
If you prefer, you can use a Windows NT machine as a client machine. You will need to download the Legion binary files on to your machine and copy the necessary OPR files from another Legion machine's valid OPR. You then must
- Set the $LEGION and $LEGION_OPR values, and
- Run the legion_env.bat and legion_context_env.bat files.