GENESIS: Introduction

Related Documentation:

GENESIS Developer Installation


There are several prerequisites to the construction of a GENESIS development environment. These include:

Note: Compiling from source will only produce executables and libraries for the host architecture. For example if you have a 64-bit system and 32-bit Perl, the compiled SWIG libraries will not load, giving an error citing ”wrong architecture.” So when compiling on a machine make sure that Perl, Python and all of their loadable modules and libraries are of the same architecture as the host machine.

Download Code for GENESIS Developer Installation

Source code for GENESIS can be found at: GENESIS package archive.

The easiest way to get the latest version of the GENESIS source code is via the DeveloperPackage.

Prerequisite Operations

Once you have software dependencies like monotone installed you must set up some things on your machine in order to use the Developer Package.

Setting up your monotone key

In order to use monotone the user needs to create their monotone key using the command:

  mtn genkey

The email you use does not need to be a valid email address, it is simply an identifier that other developers using the repository will use to associate with your checkins. Even if you are not going to be checking in any code you still need a key to create and update your workspace. After entering the command it will prompt you for a passphrase, that will be used as a password whenever you perform any operations on the repository. After creating your key with your desired email identifier you will have a new directory in your home directory called .monotone. To keep from having to enter your passphrase every time you perform any monotone operation, you may automate it by creating a file in .monotone called monotonerc. In your monotonerc file place this code:

function get_passphrase(keypair_id)  
   return "mypassword"  

where the text mypassword is your passphrase, that you created earlier.

Installing the DeveloperPackage

Download the latest version of the DeveloperPackage, available from the GENESIS package archive. It is called developer-release-label.tar.gz, where release-label is the current release identifier. (Note: If downloading via your browser, do not unpack the package during the download as it will be placed into its own subdirectory).

  1. Change to the directory where you downloaded the file.
  2. Unpack archive: “tar xfz developer-release-label.tar.gz”.
  3. Change to the directory with the content of the archive: “cd developer-release-label”.
  4. Configure the DeveloperPackage: “./configure”.
  5. Compile and install the DeveloperPackage: “sudo make install” (requires administrator privileges).

General Developer Installation Procedure

Following manual installation of the DeveloperPackage, the generalized scheme to download and install the available GENESIS Components is via the following commands:

  1. Create the correct directory layout:

  2. Pull all the code from the remote repositories:

  3. Create workspace with up to date source code:

  4. Generate make files:

  5. Clean all workspaces: (Note: This step is optional, it is used when upgrading DeveloperPackage, or following a build to remove previously built files).

  6. Compile and install all the packages:

  7. Optionally check if the installation is successful:

Global Resources

A GENESIS 3 developer keeps developer resources in the directory


In this directory we find a subdirectory for each of the software components currently under development.

Besides the directories associated with software components, we also find directories for local documentation ($HOME/neurospaces_project/docs) and for source code repositories for the version control systems that require a dedicated directory for this. $HOME/neurospaces_project/_MTN is such a directory.

A personal text file TODO.txt keeps track of items that wait local implementation, but maybe are only indirectly related to GENESIS 3 development. This file is commonly formatted according to the Emacs outline major mode. The Emacs outline mode can be converted to latex and HTML when needed.