CARMA installation

The CST (CARMA Software Toolkit) consists of a the CARMA source code (developed under our CVS) and a number of alien packages that are needed (typically libraries, but not always) to compile and complete linking the CARMA code. In tar ball form these are referred to as carma_pkg, and once installed, they are referred to as carma_tools.

Pre-conditions

Baselines for installation (some variations on this may also work, but
normallly we mean the version listed or above):

- A redhat 9 linux box with various development tools installed)
  - autoconf		2.59  (notice you need to upgrade)  [autoconf-2.57-3]
  - automake		1.8.2 (notice you need to upgrade)  [automake-1.6.3=3]
  - gnu make		3.79.1 (Stallman's 1998 book is on version 3.77) [make-3.79.1-17]
  - C/C++ compiler	3.2.2 (gnu)[gcc-3.2.2-5]
  - fortran compiler	3.2.2 (gnu) [gcc-g77-3.2.2-5]
  - java		1.4   (needs a sdk, not jre, see e.g. www.blackdown.org)
  - doxygen		1.2.14 [doxygen-1.2.18-3]
  - kernel              2.4.20 (note a kernel.org kernel is needed, the redhat kernel has flaws)
                        2.4.23 also works

- A $CARMA_PKG directory where all the tarballs are located. carma itself is
  also allowed to reside here (think your classic CD install at 35,000ft).

Installation is based on a build tree that points to a CVS source tree (you can thus have multiple build trees with different configurations) which should install the carma_tools (all external packages) if you don't have them yet, followed by a carma installation. Although *both* can be installed in a single directory, say /opt/carma, it is recommended to install them under separate directories.

Installation

CVS usage:      you will always need a developers account, either use the -d flag to cvs, 
                or set the environment variable CVSROOT.  The 'root' shell variable is set here 
                for convenience, to denote from where we install CARMA and friends.

	1% setenv CVSROOT :ext:$USER@harkless.ovro.caltech.edu:/sw/cvscarma
	2% set root=`pwd`        

scenario 1:	got absolutely nothing, starting from scratch....

        3% cvs -Q co carma
	4% cd carma/conf/
	5% ./carma-package-sync slave=$root/carma_pkg

	  IFF you do not have the correct versions of gcc/autoconf/automake, you
	  should now use the following commands to install them in the proper 
	  place (the order is important for the auto-tools)

	 % cd $root/carma/conf/opt
	6% (cd c++; make all PREFIX=$root/carma_tools) 
	7% (cd autoconf; make all PREFIX=$root/carma_tools)

	   set path=(. $CARMA_TOOLS/bin path); rehash

	8% (cd automake; make all PREFIX=$root/carma_tools)
        9% (cd java; make all PREFIX=$root/java)              # TBA 
	   javac -
	   ## install_aliens should do a which on javac !!!!

       10% (cd libgtop; make all tests PREFIX=$root/carma_tools)

	  All of these require you to have them in your search path BEFORE the
	  old system default versions, or a CARMA install/run could fail in 
	  mysterious ways.
	  In particular, libgtop needs a lot of GNOME components in order to
	  compile.

	  NOW continue on to install the normal carma tools we need:

       10% ./install_aliens carma_pkg=$root/carma_pkg carma_tools=$root/carma_tools

          (this step takes 2.5 hours on a P1.6/786M machine)

	  CONTINUE to step 15, or discard $root/carma

scenario 2:    install carma and carma_tools, assuming carma_pkg is available

       11% cvs -Q co carma
       12% cd $root/carma/conf/
       13% ./install_aliens carma_pkg=$CARMA_PKG carma_tools=$root/carma_tools

	  NOW continue to step 15, or discard $root/carma

scenario 3:    install only carma, assuming carma_tools had been done before or is
               available on site.
               This is what most developers will be using most of the time.

       14% cvs -Q co carma
       15% cd $root/carma
       16% autoreconf -i -s
       17% mkdir ../build
       18% cd ../build
       19% ../carma/configure --with-carma-tools=$root/carma_tools --with-java-home=/astromake/opt/java/j2sdk1.4.2_04
       20% make all                               # takes about 30 minutes on a P1.6/768M)
       21% make check                             # takes about 25 minutes on a P1.6/768M)
       22% make html pdf ps
       23% make install prefix=$root/rt
	

Updates

Assuming you have a CARMA and CARMA_BUILD tree, the following commands will be needed
         1% cd $CARMA
	 2% cvs update                      # update the tree


	 3% cd $CARMA_BUILD
	 4% make all check >& LOG           # no need for 'autoreconf', due to proper dependancies 


	10% make distclean                  # if many things have changes

See also Software Engineering Design document for more details, and the CARMA Autotools Build System.
$Id: install.html,v 1.8 2004/06/14 12:47:15 teuben Exp $