The latest version of dart
can be downloaded as a tarball or zipfile from http://github.com/ihh/dart
Download the tarball (this will be named something like
), then extract it and (if you are so inclined) rename or symlink the top-level directory from
You can also browse the source code at http://github.com/ihh/dart
If you have the git
source code revision management tool installed, you can
the repository and stay up-to-date with the latest version, like this:
git clone git://github.com/ihh/dart.git
This is the preferred way to get dart.
If github is down or unreachable, use the following mirror repository:
git clone git://cvs.biowiki.org/usr/local/git/dart.git
If you have never heard of git, or are unsure whether you have it installed, try one of the following links:
- Download (or clone / checkout) the source distribution.
- Install GNU build tools.
- (Optional) Install hmmoc.
- (Optional) Install GNU Guile.
- (Optional) Install other undocumented/unsupported extensions (yeah, you probably don't want to do this).
configure and then
- (Optional) Run the test suite.
- Set up environment variables.
- It is assumed that you have already downloaded (or checked out) the source distribution; see DownloadingDart for details on how to do this.
- You will need GNU tools including
gcc (v4.0 or later),
- See the INSTALL file in the top-level directory for more info (or type
- These tools come with many linux distributions, but
gcc in particular, though stable in the last couple of years, has evolved by leaps & bounds in the past and may be out of date if you have an old distro
- Mac users may need to install xcode tools
- Dart will probably build under Windows, but it isn't supported. You may need CygWin
- (Optional) If you want to run HandAlign, you will probably want to first install Gerton Lunter's hmmoc package to compile fast dynamic programming algorithms.
- Follow the link to download and install this software.
- If you install it in
/usr/local/src/hmmoc, then the
configure script will find it automatically; otherwise, you will need to use the
--with-hmmoc option to specify in which directory
hmmoc can be found (since it does not export this via
- Note that the
hmmoc package requires Java to run.
- (Optional) If you want to use Scheme from within dart programs (specifically xrate, whose macro language can include Scheme evaluation) then you will need to install Guile before building xrate.
- As of version 1.8.7, guile requires GMP to be installed.
- You should then download & install the latest stable release of Guile from here.
- If this all seems like too much hassle, you can probably just skip this step: most xrate grammars (as of April 2010) do not include Scheme expressions, and dart can be built without guile support.
- (Optional) Install any unsupported/experimental optional dependencies. For example, if you want to use the BeagleLibrary to run phylogenetic computations on CUDA devices, you will need to install that first, along with its dependencies. Currently, we have not seen much (any) speedup in dart from using this library, which may well mean that we are not using it correctly. In any case, Beagle is not supported, and it is advisable to leave out this part.
- Type the following:
cd dart; ./configure; make
- The autoconf scripts should detect the optional dependencies (hmmoc, guile, beagle) if they are installed; if not, you can specify paths to these using
./configure --help for a full list of configuration options
- Note that not all aspects of the autotools are currently functional; for example, there is currently no support for compilation outside of the project source directory.
- (Optional) To run the built-in tests, type:
- Set up your environment variables (required for WindowLicker and some other programs):
- You may want to set the environment variable
DARTDIR to point to the root
dart directory. Some of the programs require this (or, at least, they work better that way).
- To use the dart perl modules, or run many of the DartPerlScripts, you will need to add
dart/perl to your
PERL5LIB environment variable.
Dart binaries and Perl modules
Add the following lines to your
if you want to have the dart binaries in your path and use the dart perl modules in Perl scripts:
setenv DARTDIR $HOME/dart
setenv PATH $DARTDIR/bin:$PATH
setenv PERL5LIB $DARTDIR/perl:$PERL5LIB
Obviously the first line should point to wherever your dart tree is at.
I also had to add a dummy
line before this, to initialise the
If you're a bash user, you'll need to put the following in
Some programs in dart expect the environment variable
to point to the root of the dart source tree.
is not defined, the default value is the path to the
If this is not the correct value (for example, if dart was compiled on an NFS server but is intended to be used by client machines on that NFS),
you can override it at configure-time like so:
(This is something of an abuse of the
option; the true GNU way would be to use