Building AIPS++

Back to Software

Links to official instructions for building AIPS++ are given below in (A) and (B).
(A) Basic instructions for a generic clean installation can be found at the bottom of the ALMA offline twiki CVS use page.
(B) Instructions on how to setup CVS to create and maintain/update an External Developer's Release can be found in the AIPS++ System Manual. The rpm versions listed there are a bit outdated.

I have not strictly followed the official build instructions and cannot guarantee that they are up to date or work as is. What follows is a description of how I built a clean installation of AIPS++ on FC4


Building AIPS++ on Fedora Core 4

A step by step procedure of how to build a clean installation of AIPS++ for FC4 (based on instructions in A) is given below. cvsup (based on instructions in B) was used only to get the documentation and co-ordinate system data information.

Software Prerequisites

[CV] : ftp://ftp.cv.nrao.edu/casa/rpms/fedora/
[FC4 extras] : http://rpmfind.net/linux/RPM/fedora/4/i386/ByName.html
[RPMfind] : http://rpmfind.net/linux/RPM/ByName.html

Download AIPS++ Source

Make an AIPS++ root directory and 'inhale' all the code from the CV anonymous ftp site.

Configure AIPS++

Build glish

Glish does not get built automatically with 'sneeze', so has to be done by hand before building the rest of the installation.
Note : source /usr/local/aips++/aipsinit.$SHELL.
If there are problems with GlishTk not being rebuilt - or any such thing, "gmake cleansys" followed by "rm /usr/local/aips++/linux_gnu/bin/glish* " and then " touch force.rebuild " - will reset glish to be built from scratch.

After build completes (few minutes), glish will start - but will complain abt not finding .glishrc or .aips++init.g -- that is okay - it'll appear after the rest of the installation is built.

Build AIPS++

Configure again and check that the GLISH vars find what they want now (since glish has been built) And sneeze !!
It will begin with a 'cleansys' and will complain about directories not found. ignore.
Go away for a few hours (or sit back and watch some compiler warnings). If you do go away, return once every hour to check for error messages...
There may be errors in some programs' builds - ignore as long as it is confined to just that program. If there are a very large number of 'undefined reference' or template related errors, recheck the compiler flags. Check for header files and libraries not found.
If you stop the build before it completes (errors in makedefs resulting in files not found), to prevent rebuilding everything from scratch, use sneeze -l -m incremental & . If however you change compiler flags, you'll need to rebuild as cumulative after running gmake cleansys. Make sure that all .o files are removed before starting the cumulative build. This does not happen automatically (!!)

A few hours later, AIPS++ should be installed and working. (I tested the sequence of instructions listed here by re-inhaling the entire source tree, and starting from scratch by following these instructions and it worked.)
To use AIPS++, initialize the environment variables with source /usr/local/aips++/aipsinit.sh
To do a preliminary check - start glish and load the viewer with include 'viewer.g' followed by dv.gui() to check the graphics display. If anything appears broken, go to that sub-system under /usr/local/aips++/code and do gmake and try to debug from there.

Setup a .aipsrc file in your home area.

Build Documentation

Comment out the last two settings in the local makedefs..
#DOCSYS :=
#DOCEXTR := Wish yourself good luck.
After several iterations of trying to build the documentation, I gave up and copied the document tree from the 'daily' installation and used that. I used cvsup as follows.

(Detailed CVS use instructions to get the entire distribution can be found in the AIPS++ System Manual) Note : The host name is "aips2.nrao.edu". If this hostname is not resolved, use "host=146.88.10.7".
This will pull all documents into /usr/local/aips++/docs. The "/sup/files/docs" file can be generated automatically (along with code,data,etc..) by following the instructions in the documentation for an External Developer's Release to fetch the entire tree. The above script will setup and fetch only the "docs" directory.

Get Data files

This is required by AIPS++ for co-ordinate system information, etc.. The data directory should now contain directories "ephemerides", "geodetic", etc...