Genetic Simulation Library

John Conery
Michael Lynch
Computational Science Institute
University of Oregon

Version 1.0, Nov 21 1997

The Genetic Simulation Library (GSL) is a set of C++ classes designed to be used in individual-based models of plant and animal populations.  The classes in this library can be used to build representations of genes for a wide variety of different types of organisms, from asexually reproducing single-cell organisms to chromosome-structured sexually reproducing animal species.


General description of the library, including design and implementation notes.
Reference pages (names, arguments, and short descriptions of each class and procedure).

Library Files

Downloading and installation instructions.
Copyright notice that applies to all files (source code, binaries, and documentation) .
Source distribution, with all library source code.
Demo programs, test drivers, and example applications.
Compiled library (libgen.a) for Solaris 2.5 (32-bit binaries compiled on Ultrasparc-1).
Compiled library (libgen.a) for Irix 6.2 (64-bit binaries compiled for R8000).
Documentation (if you want local copies of GSL.html and GSL.ref.html).

Macintosh Version

GSL has been ported to the Macintosh by Robert Huber of Bowling Green State University. The MacGSL port contains sources with the necessary changes for building applications on MacOS and CodeWarrior project files for compiling GSL and applications.

The MacGSL packages is available from

What to Download

  • If you are going to use the library on a machine for which there is a binary archive in this directory (e.g. an Ultrasparc-1 running Solaris 2.5) and you don't want to bother compiling the library yourself, download the appropriate precompiled binary.  This package will also contain header files.

  • If there is not a precompiled binary for your machine you need to download the source distribution file GSL.src.tar.Z and you will need to compile the library; see "installation" below.

  • Whether or not you get the sources, you will probably want a copy of the demo directory since it contains lots of examples.

  • If you want a local copy of the documentation, grab GSL.doc.tar.Z; otherwise you can just use the links to Web-based documentation listed above.
  • Installation

  • The steps below create a new Unix directory named GSL. Depending on which distribution files you downloaded, there will be doc, src, and other subdirectories under GSL. Copy all the .tar files to the directory in which you want to build the new GSL directory.
  • Move all of the distribution files to your working directory and uncompress them, i.e. for each distribution file with a name like "file.tar.Z" type "uncompress file.tar.Z".

  • Extract the library files from the tar files, i.e. for every distribution file with a name like "file.tar" type "tar xvf file.tar".
  • The first invocation of the
    tar command will create the GSL directory; subsequent invocations will add more files to the new directory.
  • NOTE: if you downloaded more than one binary, or if you want to compile your own version of the library in addition to one or more precompiled binaries, read the note about how to manage multiple binaries in the README file that was unpacked with the sources.

  • If you downloaded the source distribution and want to compile the library for your system, cd to the src directory and type "make". Now you can make the demo and application programs by typing "make" in the demo directory and the various subdirectories under apps.

  • You can now delete the tar files if you want to clean up your working directory.

  • Registration

    If you would like to be on our mailing list for updates and other information about the library, please fill out the form below and click the "submit" button (or send e-mail directly to

    E-mail Address:
    How are you using GSL?
    Do you have any suggestions, requests, or other feedback?

      accesses since Sept 1998.