General Instructions for Building Our Software

System Requirements

Software released from the CRD group at the Broad Institute is built and tested on a modern version of Linux for the x86_64 architecture. Our software does not run on 32-bit machines: you must have a 64-bit Linux system. Our users have successfully built and executed our software using a variety of Linux distributions including Ubuntu, RedHat, and SUSE. We expect that any flavor of x86_64 Linux will work fine, as long as it provides the necessary software prerequisites, as described below.

Basic Compiler and Library Requirements

We rely on reasonably up-to-date versions of these software packages:

  • GCC, with its associated g++ compiler for the C++ language, version 4.7 or later.  We're now using C++11 features, and require a modern GCC.
  • For ARACHNE only, the Xerces-C library. The source can be downloaded from the Xerces-c download page.  Supply the argument --with-xerces=/path/to/xercesc/installation when you run ./configure.

The Build Procedure

  • Move the package that you downloaded from our FTP site to a location on you system where you'd like to build the software.
  • Extract the contents by typing:
    tar xzf package.tgz
  • You'll have a new subdirectory in the current directory named after the package and revision.
    cd package
    Some older releases spill all the source into the current directory, rather than creating a new subdirectory. If that's the case, ignore this step.
  • Execute the configuration script by typing:
    ./configure
    This assumes that you can copy executables to /usr/local/bin.  If you cannot, you should instead execute:
    ./configure --prefix=/path/to/install/directory
    Note: Some older packages lack a configuration script. Consider returning to the FTP site for a more recent version, or just skip this step.
  • Build the software by typing:
    make all
  • Install the software by typing:
    make install
  • The executables will be in /usr/local/bin or in /path/to/install/directory/bin.  Make sure this is on your path.

If this goes well, you're ready to go. Consult the manual for the package to learn how to set up your data and what programs to execute.