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 $