Back to Starlab home

Downloading and Installing Starlab

Downloading the latest version

To download the current version of Starlab, click here. Older versions may be obtained from our download site. All files are gzipped tar archives containing the entire Starlab distribution.

CVS access

The download page also gives instructions on obtaining the latest release by anonymous CVS access.

Installation (version 4.3 and higher)

Starlab should compile without problems on most versions of linux, on MacOS X, and on Windows under Cygwin. The following is derived from the README file from a fairly recent (4.3) distribution. Please check the README file in the current distribution tarball for more up-to-date information. The INSTALL file also included in the tarball contains additional detailed information on the configuration and installation process.


Installation from the tarball

We assume here that the variable STARLAB_PATH points to the top- level installation directory (i.e. the one containing this file). GRAPE users should read the GRAPE section below before starting the configure/build process.

Installation proceeds in GNU standard fashion:

	./configure --prefix=install-dir --other-options
	make install
See the INSTALL file in $STARLAB_PATH for more information. The current default install-dir is
and in normal circumstances no other options need be specified.

If you downloaded Starlab in the form of a distribution tarball (named starlab_version.tgz or starlab-version.tar.gz, depending on where you obtained it), the configure script should already exist in $STARLAB_PATH, and you can proceed directly to the above standard installation commands.

Installation from the CVS release

If you obtained Starlab from the CVS archive, then the source tree will not include the configure script. You will have to create configure (and other installation files, such as "") using the command
	autoreconf -i -f
Starlab now makes extensive use of the GNU "autotools," aucoconf, autoreconf, automake, and libtool. When it runs properly, autoreconf should produce at most a series warnings about underquoted definitions of constants in some setup files (not in Starlab!). However, if the versions of the autotools on your system are too old, autoreconf will fail, probably with a large number of quite intimidating error messages. Don't be alarmed -- a usable set of tools is distributed with Starlab.

Unless you are sure that your system has versions of these tools newer than those used to build the package, you probably first will want to install the autotools found in $STARLAB_PATH/src/packages. You can do this by hand (unpack the tarballs and follow the installation instructions), or by running the script

found in that directory. You will also have to modify your search path to ensure that the directory containing the newly installed autotools precedes any system directory before proceeding with the Starlab installation.

Once you have run autoreconf, you can again proceed to the standard installation commands given above. Note that if you are installing from a tarball, you should only need autotools if you modify any of the "" templates in the source directories.

Automated installation

If you prefer to install everything automatically, in all cases you can simply run the script
in this directory. This script performs the various actions just described (including autotool installation in all cases), and in addition it provides timing information and attempts to clean up the "make" output.

Once the package is successfully installed, to use the Starlab tools, make sure that the directory

is in your search path, preceding any system files. You may also find it useful to include the Starlab administrative directory


It is difficult for the configure script to infer automatically the existence of a GRAPE or to determine the appropriate GRAPE libraries and other settings to use. If you have a GRAPE, you will have to place that information in the file

This file is a simple shell script that sets a few variables used to build the Makefiles. So that it cannot be overwritten by a new release after you have created it, the script itself is not distributed with the Starlab package. However, a template is distributed in
and a collection of examples from various GRAPE sites is contained in
You will have to rerun configure after creating or changing this script, so you will probably want to make these changes BEFORE building the system! If you don't have a GRAPE, do nothing, and Starlab will by default build a system without GRAPE acceleration.


For programmers, the Starlab header files are installed in

and the libraries are in
For more details on compiling and linking with Starlab, see here.

If the autotools are properly installed, developers should find that any changes made to the automake "" files will cause the relevant Makefiles to be automagically regenerated.

If you change the script in $STARLAB_PATH/local (e.g. to use a different GRAPE library), you will have to rerun configure for the changes to take effect. If you modify the script in $STARLAB_PATH, you MUST run autoreconf before running configure again.


Starlab is distributed under the terms of the General Public License. See the file COPYING in $STARLAB_PATH for information on the GPL.

For use and attribution policies, see doc/README in the distribution, or the version here.

Installation (version 4.2 and lower)

Installation instructions for older versions of Starlab may be found here. (This is just the old Starlab README file, again part of the distribution tarball.)