Science

General Instructions for Building Our Software

System Requirements

Software released from the CRD group at the Broad is intended to run on a POSIX compatible, 64-bit OS.  This includes almost all flavors of Unix and Linux.

We also require that you build on a little endian processor architecture (which includes almost all modern processors). We build our software in-house mainly on x86_64 machines, though other architectures should work too.

It is very unlikely to build properly on a 64-bit Windows operating system, though as far as we know, no one has tried.

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.
    Our configuration script looks for version 4.3.2, or later, though you can override this behavior by specifying --with-no_gcc_check when you run ./configure (see below). Versions 3.x.x have been used successfully in the near past, though you're courting trouble by trying to use older versions.
    GCC can be found on the GCC website here.
  • The GMP library compiled with the C++ interface (i.e., --enable-cxx passed to their configure script before building).
    With luck, your GCC installation will already include GMP. Look for the file libgmpxx.a in your GCC package's lib subdirectory. If it's there, then Bob's your uncle. If not, it can be downloaded from their website.
  • The Boost libraries, including filesystem and serialization.
    Our configuration script looks for version 1.37 or greater. You may override this version checking, or help the configuration process out if it can't find Boost automatically by specifying --with-boost=[DIR] when you configure.
    Boost is available from the Boost website.
  • For ARACHNE only, Xerces 1.5.1 built for the target platform and available on the path. We include binaries of Xerces 1.5 for some common platforms in the Arachne source distribution). The source can be downloaded from the Xerces archive page.

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.
    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
    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
  • After make completes there will be a new subdirectory named bin. Add it to 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. If you're having trouble, try compiling the very minimal test program called TestProgram.
make TestProgram
Studying the errors from this minimal compilation might help you track down configuration difficulties. Write to us at crdhelp@broadinstitute.org if you just can't get the build going.