RVSAO Installation

To install this package in your local IRAF system, take the following steps:

1) Get the Tar File

The package is distributed as a gzipped tar archive. First set up a directory into which you will download the files. In the example below, we use /data/IRAF/Tar.

Then acquire the source code via HTTP from

Precompiled binaries for Redhat Linux are available via HTTP from

You could also use FTP from the command line on a UNIX/Linux/Cygwin computer:

% ftp cfa-ftp.harvard.edu
login: anonymous
password: [your email address (must be legitimate)]
ftp> cd pub/iraf
ftp> get rvsao-2.8.1.readme [ASCII text of this file]
ftp> binary
ftp> get rvsao-2.8.1.tar.gz
If you want to download precompiled binaries for Redhat Linux, add
ftp> get rvsao-2.8.1-bin.redhat.tar.gz

2) Create a directory for the RVSAO external package files

This directory should be outside the IRAF directory tree and must be owned by the IRAF account. In the following examples, this root directory is /data/IRAF/iraf.pkg (UNIX/Linux). Make the appropriate file name substitutions for your site.

3) Install the source files

Unpack the tar file into the IRAF package directory. On a Linux or Unix system, where /data/IRAF/Tar is the pathname of the directory into which the package was downloaded and /data/IRAF/iraf.pkg/ is the directory where you are putting external packages:
% cd /data/IRAF/iraf.pkg
% cd ..
% zcat /data/IRAF/Tar/rvsao.tar.gz | tar xvf -
The archive file can be deleted once the package has been successfully installed. Note that the directory name will include the version, so that any previously installed versions of RVSAO will not be overwritten. We symbolically link the version directory to a generic directory:
% ln -s rvsao-2.8.1 rvsao

3a) Install binaries

If the binary directory (rvsao-2.8.1-bin.redhat.tar.gz) was downloaded in step (1), install it now:
% gzcat /data/IRAF/Tar/rvsao-2.8.1-bin.redhat.tar.gz | tar xvf -

4) Define the package to IRAF

Edit the extern.pkg file in the IRAf hlib directory to define the package to the CL. From the IRAF account, start your CL of choice and move to this directory with the command:
% cd $hlib
Define the IRAF environment variable rvsao to be the pathname to the rvsao root directory. The '$' character must be escaped in the VMS pathname; UNIX pathnames must be terminated with a '/'. Edit extern.pkg to include:
reset rvsao       = /data/IRAF/iraf.pkg/rvsao/
task rvsao.pkg    = rvsao$rvsao.cl
Near the end of extern.pkg, update the definition of helpdb so that it includes the rvsao help database. Copying the syntax already used in the string, add this line before the line containing a closing quote:

5) Add the package description

Add to hlib$clpackage.men the package description:
rvsao - Radial velocity package from SAO

6) Set binary type

[Skip if installing binaries from tar file]

Symbolically link the appropriate binary directory to bin. rvsao$bin is originally linked to rvsao$bin.generic for distribution.
     cl> cd rvsao

On a SPARCstation running Solaris,

     cl> mkpkg ssun
On a DEC Alpha running Digital Unix,
     cl> mkpkg alpha
On a PC running Redhat Linux,
     cl> mkpkg redhat
On a PC running Cygwin,
     cl> mkpkg cygwin
On an Intel Macintosh running OS X,
     cl> mkpkg macintel
On a Power PC Macintosh running OS X,
     cl> mkpkg macosx

7) Compile and link RVSAO

[Skip if installing binaries from tar file]

Make the package by typing
     cl> mkpkg update >& rvsao.spool
The spool file should be reviewed upon completion to make sure there were no errors.

8) Update RVSAO

If you have installed a new version of RVSAO, type rvsao to load the package, and update the parameters of the task(s) of your choice by typing:
     relearn xcsao
     relearn emsao
and/or relearn sumspec

Any new parameters will be installed while keeping your old values for
the remaining ones.  Repeat this procedure by running IRAF in each IRAF
home directory you may have.  This RVSAO task is useful for updating
other tasks which have added parameters in new releases.

Last updated 30 January 2013 by Jessica Mink