Next Previous Contents

2. Installation

2.1 System requirements

The primary development of the software is Linux/Intel (RedHat, Ubuntu). It also has generally worked in the past on Linux/Alpha (RedHat 6.0), DU/Alpha (DU 4.0), and Irix/MIPS (5.3). For nonLinux systems, only the propreitary compilers have been tested. For Linux systems, the standard flags work only with gcc and g77, though with a bit of work (particularly in the linker stage) you might be able to get it to work with f77. I have also gotten it work under gfortran but it generates a lot of errors and the linker has to be gfortran. Even though it has been tested only on the Intel and Alpha architectures, it should work on any machine using gcc and g77 (though the performance might not be the greatest). Some programs may require f2c and its control program, fort77. If g77/gfortran/fort77 are present, programs that do not need them will compile fine.

Generally at least 128 MB of RAM is required, though if you're willing to live with small sized problems, you can edit ramp/src/common/defines.h (see below) and change the parametres accordingly. The suite of programs has been known to work on systems with only 8 MB of RAM, but not all programs will work.

The shell scripts in RAMP rely on tcsh. If you don't have tcsh, you should either install it, or change the scripts to call csh instead. An easier solution would be to link tcsh to csh.

2.2 Setting up the distribution

The entire distribution is available as a single tar and gzipped file.

Uncompress (gunzip) and unpack (tar -xvf) the distribution, preferably under /usr/local/packages. It will create a directory called ramp. All code is in the respective directories under ramp/src. Documentation is in ramp/doc, and library stuff (see the directory) is in ramp/lib.

The executables are in ramp/bin_architecture and the platform independent shell scripts are in ramp/bin/scripts. The primary platform supported corresponds to the directory name linux_ix86; Other directory names for platforms that this software should work on are also provided: linux_alpha, osf1_alpha and irix_mips. By executing the appropriate script at startup (see below), the path will be set to point to the directory containing the corresponding executables for a given platform. This system differs from the one in traditional Unix systems where a single bin directory contains all the executables for a given platform (and the distributions themselves are tailored individually for each platform). The reason to do it differently here is because in the "heavy numbers" world, people tend to use all the available CPU they can get, generally mixing various platforms. Therefore it makes more sense to combine executables for different platforms in one central location (as users will generally have only one central home directory for many different platforms).

The executables are compiled statically with default parametres. This may result in the files being bigger, but I think it's worth it given the uncertainty associated with using shared libraries (it will also run faster and in this field, every second counts!). Linux on the Alpha boxes can run executables statically compiled using Digital Unix compilers, so by default, the path setting for the executable directory on a Linux/Alpha machine is ramp/bin/osf1_alpha. If, for some reason, you want to compile on a Linux/Alpha machine, or want to use gcc/g77 compiled executables on a Linux/Alpha box, you just have to edit ramp/bin/scripts/setup_environment and recompile.

2.3 Using the default setup

If you've installed the set of programs in /usr/local/packages/ramp, and you're happy with the defaults (see ramp/src/common/defines.h), then there's little you need to do. Simply add the following two lines to your ~/.tcshrc after your path has been defined:

source /usr/local/packages/ramp/bin/scripts/setup_environment
source /usr/local/packages/ramp/bin/scripts/onramp

Then type in:

source ~/.tcshrc

You should then be able to access all the programs in the suite after typing rehash. Note that the scripts rely on certain programs being part of your path, so make sure your path is appropriately defined (which should include the current directory also). The executables are compiled using flags that I think are fairly optimal. If, for whatever reasons, the precompiled executables are not present (this may be the case for nondefault distributions or development distributions), or if you just want to be on the safe side and recompile in your environment, then follow the instructions below.

2.4 Changing the defaults and recompiling

If you're not happy with the defaults (including the file locations), then you need to edit ramp/src/common/defines.h, ramp/bin/scripts/setup_environment, and ramp/bin/scripts/onramp. The files are fairly self-explanatory and it shouldn't be too hard to edit them. You may also need to edit the mkall file in the individual source directories, which exists to handle special situations.

Once you've edited the necessary files, type:

source /usr/local/packages/ramp/bin/scripts/setup_environment
source /usr/local/packages/ramp/bin/scripts/onramp

in tcsh. Then cd to ramp/bin/scripts and type:

install_ramp

This will recompile and reinstall all the programs with the new set of parametres. install_ramp is clever enough to actually modify the path names in the ramp/src/common/defines.h file and the mkall scripts based on what you set the value of RAMP_ROOT in ramp/bin/scripts/onramp. If all you do is change the default path in the onrambin script, then the above command is all you should need to execute for a complete recompilation.

Once the compilation is finished, add the above two source commands to your ~/.tcshrc. You should then be able to access all the programs in the suite after typing rehash.

To recompile specific programs in the suite, goto the appropriate directory and see if there is an entry in the file mkall for that program. If there is, then the command to use is mkall program-name. Otherwise, make program-name should work.

2.5 Using RAMBIN

If you've installed the RAMBIN suite of programs, then you just need to source the setup_environment script only once (in either distribution).

2.6 Using a login shell other than tcsh

If you're using a login shell other than tcsh (such as ksh, bash, or sh), you will need to use the ramp/bin/scripts/onramp.sh script in a similar manner described above to set up the environment and the paths (i.e., it should be called during the startup of your login, usually with a "." in front of it). This script has not been tested and cannot be used to recompile the executables in the RAMP suite. To recompile, you must enter tcsh and compile using the process described above. Once the executables are created, setting up the path to point to them is trivial.


Next Previous Contents