Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1556
News FAQ
Search Home


next up previous contents index
Next: Setting up Up: Installation Previous: End-user AIPS++ installations

Subsections



Consortium AIPS++ installations

Consortium installations differ from end-user installations in having a local copy of the master CVS source code repositories. The local code tree is updated regularly by the AIPS++ code distribution system via a procedure called inhale (p[*]). Consortium installations also have a mechanism for checking sources out of, and in to, the master CVS repositories.

Step 1. Create AIPS++ accounts

Before starting a consortium installation the following accounts must be created by the unix system administrator with the specified user and group ids in /etc/passwd (see §1.4):

   aips2mgr   uid=31415   gid=31415
   aips2prg   uid=31416   gid=31416
   aips2usr   uid=31417   gid=31417

The user and group ids correspond with those of the master sources and although different ids may be used it is highly desirable that they match. The home directory for the accounts should be set to the root directory of the AIPS++ tree. This can be anything but /aips++ is preferred and is assumed in the following examples.

The following groups must be created with the matching group id and membership (in /etc/group):

   aips2mgr   gid=31415
   aips2prg   gid=31416   aips2mgr
   aips2usr   gid=31417   aips2mgr aips2prg

You should also add your account name and the names of any other local AIPS++ managers to the aips2mgr group membership list. Do not add everyone to the aips2mgr group, it grants permission to directly manipulate the RCS sources. You should also add the names of all local AIPS++ programmers to the aips2prg group. This will allow them to check out and modify the AIPS++ sources. The aips2mgr account and the aips2mgr and aips2prg groups will be used during the installation.

Now create the AIPS++ root directory:

   yourhost% mkdir /aips++
yourhost% chown aips2mgr /aips++
yourhost% chgrp aips2prg /aips++
yourhost% chmod ug=rwx,o=rx,g+s /aips++

In practice /aips++ will often be a self-contained filesystem, usually on a separate disk. Allow 1Gbyte of disk space for the AIPS++ system; any short-term surplus may be used for programmer workspaces.

This is as much as needs doing by the system administrator at this stage. The remainder of the initial part of the installation can be done by aips2mgr.

Step 2. Fetch the Source Code

First fetch the source code via anonymous CVS:

   yourhost% cd /aips++
yourhost% cvs -r -d :pserver:anonymous@polaris.cv.nrao.edu:/home/cvs checkout -d code casa/code

This will fetch the main development branch of AIPS++. After the checkout completes you will need to configure the source installation

   yourhost% cd code
yourhost% chmod 544 install/configure.cvs
yourhost% install/configure.cvs

You will be asked a series of questions, most of which have sensible defaults, aimed at constructing the AIPS++ aipshosts (p[*]) file. You then have to edit your site-specific aipsrc (p[*]) and makedefs (p[*]) files. Template versions of these files are supplied by configure (p[*]) and you should read the instructions carefully. After making your site-specific definitions configure will run some tests to check whether your makedefs definitions look sensible. Your install directory will then be made. This consists of a few C compilations and installation of some shell scripts, the most important of which is inhale (p[*]) itself. Ignore any error message from gmake (p[*]) concerning the non-existence of various subdirectories of /aips++/code.

Step 3. Run sneeze

At this point your AIPS++ installation has been bootstrapped to a state where sneeze (p[*]) can be run.

You should also have a C++ compiler, and a TEX installation which includes LATEX, dvips, METAFONT and LATEX2HTML. Unset the DOCSYS variable in makedefs if you don't have TEX, it will prevent compilation of the AIPS++ documentation. The documentation may be downloaded using the aupdate command.

Users of SysV based systems such as Solaris should be warned that inhale (p[*]) requires the BSD version of sum for computing checksums. You must ensure that the BSD version will be found ahead of the SysV version in aips2mgr's PATH. The GNU version of sum (in the GNU ``fileutils'' kit) provides both algorithms and uses BSD by default. Less salubrious possibilities are to put /usr/ucb (Solaris) or /usr/bsd (IRIX) ahead of /usr/bin in aips2mgr's PATH, or to create a symlink to the BSD version of sum in the AIPS++ bin area.

First invoke aipsinit (p[*]) to add the AIPS++ bin directory to your PATH. If your interactive shell is a C-like shell (csh, tcsh) you would use

   yourhost% source /aips++/aipsinit.csh

whereas for Bourne-like shells (sh, bash, ksh) you would use

   yourhost% . /aips++/aipsinit.sh

If you use some other shell you'll have to revert to one of the above for the remainder of the installation. Now invoke sneeze (p[*])

   yourhost% sneeze -l -m cumulative&

This will build and install the latest version of the sources which are under active development. If you made any mistakes in your aipsrc or makedefs definitions some of these may become apparent during the installations. After fixing them you can recover via

   yourhost% gmake -C /aips++/code allsys

The allsys target will compile all AIPS++ sources, including documentation (assuming of course that you have the compilers). If you just wanted to compile the documentation alone you could use

   yourhost% gmake -C /aips++/code docsys

If everything has gone properly you should now have an up-to-date AIPS++ installation. However, in order to keep it up-to-date you must define a cron job to run inhale (p[*]) on a regular basis. The normal procedure is to do a cumulative update every Saturday evening. However, you may wish to maintain a (possibly separate) system which is updated on a daily basis. Half-daily updates are also possible, but note that 12 hours may not be sufficient time to rebuild the system.

The exact timing depends on your timezone with respect to the master. New updates are produced by 0700 and 1900 Socorro time (MST or MDT) but you should allow at least an hour's grace before collecting them. An example crontab file might resemble the following:

   # Cumulative update of the AIPS++ directories each Saturday evening.
   00 22 * * 6   (. $HOME/.profile ; inhale.cvs -c) 2>&1 | \
      mail aips2mgr aips2-inhale@nrao.edu

(Note that all cron entries must be one-liners but they are broken here for clarity.) You may need to add the -n option to inhale (p[*]) accordingly. Note that, as in the above example, the log produced by inhale is generally forwarded to aips2-inhale@nrao.edu. These logs are archived for about 10 days and are accessible via the AIPS++ home page http://aips2.nrao.edu/aips++/docs/html/aips++.html. This is particularly useful for verifying code portability, especially on platforms that a programmer doesn't have ready access to. You should also add the email address of a local person who will monitor the inhale logs (aips2mgr in the above example).

Step 4. CVS access to the development tree

For active developers, you will need a CVS account on the main CVS repository server. Please send an encyrted password to aips2mgr@aoc.nrao.edu. For more information about CVS visit the webpage at http://www.cvshome.org.


next up previous contents index
Next: Setting up Up: Installation Previous: End-user AIPS++ installations   Contents   Index
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-10-15