From: ftp-bimas.cit.nih.gov                        Last mod: October 9, 1997

  The following are instructions for running FASTLINK 4.0P
on DEC Alphas which run the OpenVMS operating system. The instructions
were mostly put together by FASTLINK user Kimmo Kallio in Finland
with recent adapatations by Don Plugge in the U.S..
Thanks Kimmo and Don!

  There are two fundamental problems in porting FASTLINK to a VMS
system, compilation and checkpointing. Since checkpointing provides
extra functionality over LINKAGE, for now we are primarily concerned
with ensuring that the checkpointing does not break anything during
runs that do not crash.  It is not clear whether crash-recovery
works on VMS.

  Kimmo has solved the compilation problem by creating his own make
utility for OpenVMS. Note that there may be problems in porting this
utility to VMS on a VAX. Here are the instructions I got via Kimmo.

The top level directory after you untar the FASTLINK package is called
fastlink. The main source code files can be found in the subdirectory
4.0P/src. In the subdirectory 4.0P/alphavms, you will find the following
extra files.

1. checkpointdefs.h (intended to replace the checkpointdefs.h
   that comes with FASTLINK)

2. maketool_vms.com (command file to assist with Make)

3. maketool_vms.c (little C program to assist with make)

Here are the instructions, as I understand them.

1. Read comments in maketool_vms.com and maketool_vms.c

2. Among other things, these comments refer you to an ftp site from which
   you can retrieve a version of make for OpenVMS.

3. Install the make that you retrieve.

4. Make sure all the 3 files from the alphavms directory are in the same
   directory as the main FASTLINK source code files.  Note that you will
   overwrite checkpointdefs.h with the new version.

5. Unlike in version 2.2, you may now use the regular Makefile provided
   with the FASTLINK distribution.  Find the section in the Makefile marked
   "VMS Specific".  Follow the directions there to uncomment all of the
   lines below up to (but not including) the line that starts "END: VMS".

6. Now you can make any of the targets in Makefile as on UNIX.
   Note that you should make the make_tool target first, since it
   is used to make all the FASTLINK targets.

Caution: The file commondefs.h includes certain .h files, which have
definitions that come with any C compiler. The way these files are
#included in commondefs.h makes standard assumptions about the user's
search path and where the files are found. If you get compilation errors
suggesting that these .h files cannot be found, you need to ask your system
administrator where the files are on your VMS system and modify the
#include lines at the top of commondefs.h accordingly.

The compiled executables will end up in the source directory.
You need to move them to where you want the exeutables to reside,
and you will probably want to rename them to add the extension exe
to the file name.

Kimmo has also provided a couple of other utility programs that can be
found in the 4.0P/alphavms subdirectory.

1. setup.com -- A simplified version of a linkage setup file for VMS used
   at the National Public Health institute in Finland.

2. start_pedin.com -- A simplified version of a command file used to
   start linkage batch jobs on VMS; to be used with SETUP.COM.

Thanks again to Kimmo for all his work. 


A more traditional way to compile on VMS is to use the
MMS utility. In the subdirectory 4.0P/vaxvms you will find
mms files called old.mms and new.mms that may be used on either
VAX or Alpha. old.mms is a slight change from what used to
work on some VAX systems for earlier versions of FASTLINK.
The change reflects the existence of new code files
(unknown.h and loopbrk.c). new.mms is a varient put together
by Don Plugge that explicitly links in libraries to provide
certain standard UNIX file functions. See README.VAX.