Downloads‎ > ‎

Installation Scripts

The easiest way to install all packages and libraries needed for Galacticus is to use our automated install script.
If you're looking for precompiled binaries or source tarballs, visit the Downloads page.

The install scripts should be considered "under development".

Use them at your own risk.

Please report and problems or failures so that we can improve these scripts.

The install script can install tools and libraries with or without root privileges. Furthermore, it provides three levels of install:
  • Minimal: Installs just enough tools to get Galacticus installed, compiled and running.
  • Typical: Installs additional packages often used for model analysis.
  • Full: Installs all packages required to use any of the tools provided with Galacticus.
The script is known to succeed/fail on the following systems:

 Galacticus Version
 Operating System
 Root/Regular Install?
 v0.9.0 Linux (Fedora 15)

To use the install script, first download the appropriate version:
Then, as a regular user, run:

chmod u+x

You will be asked a few questions:
  1. "Install required libraries and Perl modules as root (requires root password)? [no/yes]:" - You can choose whether to install packages as root or as a regular user. Installing as root will make the packages available to all users, but requires the root password (which will be asked for if you respond "yes"). Sometimes, you may wish to install as a regular user in order to create an isolated Galacticus environment without affecting the rest of your system.
    1. If you answer "yes" to the above, you'll be asked if you want to use "su" or "sudo" for root installs. Use whichever method you normally use to gain root privileges. After this, you'll be asked to enter the appropriate password.
  2. "Path to install tools to:" - Specify the path to where tools will be installed when they are compiled from source. The default option (which will be displayed) will be taken if you provide no response.
  3. "Binary, minimal, typical or full install?:" Respond "binary", "minimal", "typical", or "full" to select the level of install you want. You can always re-run the install script with a higher level install later.
  4. "Use package manager for install (if available)?:" - If you have root access and your system supports either the "yum" or "apt" package managers, the install script will attempt to install packages using this method if you respond "yes" here.
  5. "How many cores should I use when compiling? (N available)" - (v0.9.3 and above) When compiling packages from source the install script can use multiple cores to speed compiling. Enter the number that you wish to use ("N" in the question is the number available on your system). Note that using all available cores can cause your computer to respond slowly to user input while compiling is underway.
Tools and packages will then be installed - depending on how many tools need to be installed this can take a long time. Once finished, you will be asked for the path to which Galacticus should be downloaded and installed - hit enter to use the supplied default.

Once all required libraries and tools are installed, Galacticus itself will be installed. If you selected a "binary" install, then the latest precompiled, statically linked version of Galacticus will be downloaded. Otherwise, Galacticus will be downloaded from BitBucket and then compiled. If this is successful a short test model will be run.

If everything works, you will be asked if you would like aliases to be appended to your .cshrc and .bashrc files that allow you to configure environment variables for running Galacticus by simply executing the command "galacticus090" (or similar for other versions of Galacticus). If you choose not to make use of these aliases, you must ensure that that you configure your environment variables (e.g. PATH, LD_LIBRARY_PATH, etc.) correctly so that the newly installed software will be found. Additionally, when not using the aliases, you should add the following to Galacticus' Makefile (replacing $toolInstallPath with the install path that you gave to the installation script):

FCFLAGS += -fintrinsic-modules-path $toolInstallPath/finclude -fintrinsic-modules-path $toolInstallPath/include -fintrinsic-modules-path $toolInstallPath/include/gfortran -fintrinsic-modules-path $toolInstallPath/lib/gfortran/modules -L$toolInstallPath/lib -L$toolInstallPath/lib64

We make no guarantees that the install script will work on your system. If it doesn't, let us know. If it does, and your particular configuration is not listed in the table above, let us know so we can update the table. Take a look at the FAQ if you experience any problems.

Note that you can also specify the various options that the install script asks you about using the following command line options:
  • --toolPrefix= the path to which tools and libraries should be installed
  • --asRoot= yes to install as root, no to install as regular user
  • --rootPwd= password for root login (use at your own risk)
  • --suMethod= sudo or su to specify the method of running commands as root
  • --installLevel= binary, minimal, typical, or full
  • --packageManager= yes to use a package manager to install tools where possible, no to always compile from source
  • --cores= the number of cores to use when compiling
  • --galacticusPrefix= the path to which Galacticus itself should be installed
  • --setCShell= yes to set an alias in .cshrc to configure environment for installed Galacticus
  • --setBash= yes to set an alias in .bashrc to configure environment for installed Galacticus
Some additional datasets used by Galacticus (e.g. stellar population synthesis data) are available on the Auxiliary Data page. These are not required to install and run Galacticus, but are useful to have installed.

Known Issues:

  • Perl's threads module is typically available only as a pre-built binary on most systems (i.e. you can't install it via CPAN). Alternatively you could build Perl yourself, enabling thread support.